LearnBoost / cluster

Node.JS multi-core server manager with plugins support.
http://learnboost.github.com/cluster
MIT License
2.29k stars 159 forks source link

cluster with node v0.5.10 #168

Open zachaller opened 12 years ago

zachaller commented 12 years ago

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

alexkwolfe commented 12 years ago

Apparently, "cluster" is a native module now.

https://github.com/joyent/node/commit/87339a22b1cc539259c02119bd7381006d56396d

tj commented 12 years ago

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

zachaller commented 12 years ago

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 commented 12 years ago

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

msiebuhr commented 12 years ago

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...

kainosnoema commented 12 years ago

@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 commented 12 years ago

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

zachaller commented 12 years ago

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

evocateur commented 12 years ago

Any ETA on that spare time?

tj commented 12 years ago

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

evocateur commented 12 years ago

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...

TheDeveloper commented 12 years ago

@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!

kof commented 12 years ago

@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?

evocateur commented 12 years ago

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.

rskuja commented 12 years ago

looking forward for some working version from anyone.

qrpike commented 12 years ago

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

sreuter commented 12 years ago

same over here. :-/

qrpike commented 12 years ago

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.

Rcomian commented 12 years ago

@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.

qrpike commented 12 years ago

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

rgrove commented 12 years ago

:(

alexkwolfe commented 12 years ago

My sentiments exactly.

evocateur commented 12 years ago

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.

kevwil commented 12 years ago

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 commented 12 years ago

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

akidee commented 12 years ago

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!

kainosnoema commented 12 years ago

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.

akidee commented 12 years ago

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 commented 12 years ago

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 commented 12 years ago

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

aklt commented 12 years ago

+1 for 0.6 support!

megshark commented 12 years ago

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

maritz commented 12 years ago

+2 (i asked my sister, she agrees)

tj commented 12 years ago

@maritz ahahaha! :p

dmilith commented 12 years ago

+3 (I have two sisters)

hustcer commented 12 years ago

I'm waiting for a 0.6+ support toooooooo

akidee commented 12 years ago

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

kof commented 12 years ago

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

AllYouCanAlex commented 12 years ago

+1 on https://github.com/ql-io/cluster2

ArkeologeN commented 10 years ago

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