Skip to content
This repository

cluster with node v0.5.10 #168

Open
zachaller opened this Issue November 03, 2011 · 40 comments
Zach Aller

it seems that cluster dose not work with v0.5.10 of node just thought i would let you guys know if you didn't already. There error that is returned is

TypeError: object is not a function
at Object.CALL_NON_FUNCTION (native)
at Object. (/home/zachaller/ezNode/s.js:13:9)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array. (module.js:470:10)
at EventEmitter._tickCallback (node.js:190:26)

this is ran on the samples from git page

Alex Wolfe

Apparently, "cluster" is a native module now.

joyent/node@87339a2

TJ Holowaychuk

yup. ryan is willing to rename it, but my hope is that the core one would be friendly enough to ditch learnboost/cluster, multinode and all the others

Zach Aller

yea i suppose i saw that there was a native cluster also i was thinking that LearnBoost / cluster would just use the built in one eventually but i still like LearnBoost / cluster because of all the other things it provides like auto file reloading and emailing if it crashed etc

TJ Holowaychuk

for sure. hopefully we'll get the core one to a point where it can be relatively elegant without being too opinionated, my only concern there is that "cute" APIs like cluster provides are not really core material

Morten Siebuhr

How about updating package.json to avoid conflicts until something is figured out?

"engines": {
    "node": "< v0.5.10"
}

edit: Let me know if you want a pull-request, and I'll cook one up...

Evan Owen

@visionmedia - I, for one, find the extra APIs in LearnBoost/cluster incredibly useful, as the core Cluster module is currently fairly bare. Maybe transition LearnBoost/cluster into a lighter set of additions to the core module? A new name would be in order as well, I suppose...

TJ Holowaychuk

yup, I'm on it, just need some spare time to finish it up

Zach Aller

Awesome that is exactly what I was hoping would happen and again thanks for all the hard work looking forward to using it eventually.

Daniel Stockman

Any ETA on that spare time?

TJ Holowaychuk

not sure, we have part of the new project ready to go but we have some larger more ambitious ideas of it as well, we just were not sure if we wanted to wait for those or release what is there so far

Daniel Stockman

Thanks for the update, trying to decide if I can wait long enough (i.e., put up with dev complaints) for the new release or just hack my local copy to change the namespace...

Geoff Wagstaff

@visionmedia looking forward to it. I tried the native cluster module but found myself emulating this module's functionality myself. Therefore, I think it's probably a more productive idea to wait until the updated version of this project is released. Let me know if I can help with anything!

Oleg Slobodskoi

@visionmedia while you are working on the new version, why don't you rename it first to let people work with it on 0.6.0?

Daniel Stockman

Sadly, I tried the renaming locally, and it's actually deeper than just the name. There are a couple bindings that were removed in 0.6.0 that are used behind the scenes in cluster. Not having the time to grok the code in question, I just resorted to building 0.4.12 for my coworkers to use for the time-being.

Rihards Skuja

looking forward for some working version from anyone.

Quinton Pike

Any news on this? desperate to get my old Cluster module back up and running.

sreuter

same over here. :-/

Quinton Pike

After some learning and practice I was able to make the same thing as Cluster with 0.6.5. Although it does not have REPL. Auto reloading and auto cluster restarts it does have. Just try coding something yourself, it might be better for your application until they release the next version.

Jim Tupper

@qrpike, nah. It's easy enough to make something cluster like, the difference is the knowledge and effort that's gone into it. Modules, REPL, statistics through the commandline and the web. That's what this project is, not just restarting some services.

Quinton Pike

I agree, cluster is amazing. But for now, we can code something simple to get by.

Ryan Grove

:(

Alex Wolfe

My sentiments exactly.

Daniel Stockman

I really appreciate the work @visionmedia put into this library. Clearly it is influential, powerful, and addresses functionality deemed important enough to "graduate" into core.

It is also pretty clear that it is a dead library, and won't ever see node 0.6.x and beyond in it's current state. C'est la vie. If nothing else, I'll probably learn a lot in the process of hacking a fork into workable condition.

Kevin Williams

This is so discouraging. I'll probably stick with 0.4.12 and keep waiting for the core cluster module gets mature enough to be a viable replacement, or just get tired of waiting and move on to something else.

Skrylar

I'm a bit saddened by this too; I was looking forward to testing it out with a project I have in development.

I am still using node v0.4.12 because of this, too. I mean, this is open-source, and you cannot expect that this module is up-to-date. But somebody should offer a bounty to TJ or to somebody who will fix this!

Evan Owen

Actually, I'm with @visionmedia on this. He hasn't explained the situation very well, but after spending a bit of time working with the core cluster module in Node v0.5+, it's clear why he's waiting or maybe even abandoning this module for now.

What happened is a bit complicated, but basically v0.5.x removed core functionality that LearnBoost/cluster depended on, and the core cluster module that was added at that point was so rough, there was no point in trying to rewrite on top of it. Even in v0.6-7.x, the cluster module is still in flux and is missing a few key pieces, making it very difficult to keep the same functionality in a backwards-compatible way. I'm assuming TJ just decided it wasn't worth the effort to deal with all the non-sense that these changes introduced, and I don't really blame him.

So bottom line, it wasn't TJ's fault, and there's a reason why nobody else has fixed this yet either—the core cluster module probably won't be stable enough to build on until Node v0.8.x. Unfortunately, the Node team just didn't really think things through before adding an immature module to what was supposed to be a "stable" version.

Sure, basically I am OK with using node's cluster and delegating file watching to another module. It's just not fun to re-delegate a piece of functionality anew every n months. (But that's in the nature of a new framework.) That's it. It would be helpful to have a list of existing modules that can replace the current functionality. I liked the file watcher since it worked in opposite to nodemon. And I liked cluster for gracefully restarting the process without any failure.

TJ Holowaychuk

I actually had a somewhat better replacement in the works (only like a day of work) but had postponed it since we were still using 0.4.x on our application. You can get away with a similar API using node's core cluster, but the project just can't be called cluster (for obvious reasons :))

xentac

What is the current plan for 0.6 support? While the nodejs cluster module gives you the basics of forking, I really like the logging/pids/graceful reboot abilities of this cluster module. Should a new project be started with a similar api built around the nodejs cluster fundamentals?

Perhaps something like this? https://github.com/audreyt/node-cluster-server

Anders Thøgersen
aklt commented March 23, 2012

+1 for 0.6 support!

Meg Sharkey

+1 for 0.6 support also.... love the monitoring console, reboot & logging also.

Moritz Peters

+2 (i asked my sister, she agrees)

TJ Holowaychuk

@maritz ahahaha! :p

Daniel (dmilith) Dettlaff

+3 (I have two sisters)

Justin Ma

I'm waiting for a 0.6+ support toooooooo

akidee commented May 04, 2012

Tell this to your sisters and brothers: https://github.com/ql-io/cluster2

Oleg Slobodskoi
kof commented May 05, 2012

You are pretty late, I was waiting a long time and yesterdays switched to other modules :)

Hamza Waqas

+1. Either the core version should be stable or this module must be taken to the next step.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.