ezmobius / nanite

self assembling fabric of ruby daemons
Apache License 2.0
735 stars 64 forks source link

eventmachine not initialized: evma_send_data_to_connection (RuntimeError) #8

Closed leomayleomay closed 15 years ago

leomayleomay commented 15 years ago

System configurations: ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0] amqp (0.6.0) eventmachine (0.12.10) rabbitmq 1.7.0 erlang 5.6.5

I follow the steps given by the "Test Nanite (finally)",

First, I created a new agent called bob, http://gist.github.com/223056

Second, I created a new mapper in another shell, http://gist.github.com/223058

roidrage commented 15 years ago

Could you please install EventMachine 0.12.8 and check if that works? I'd be curious if the problem is the just recently released 0.12.10 which we haven't tried with Nanite and the AMQP library yet.

leomayleomay commented 15 years ago

thank you, it works

roidrage commented 15 years ago

Pretty odd that it'd break with a patch release of EventMachine. Thanks for testing, I'll look into it.

roidrage commented 15 years ago

The solution is to use the latest AMQP (version 0.6.5) gem, it's up on gemcutter and removes a custom patch for EventMachine. I'll update the documentation accordingly.

leomayleomay commented 15 years ago

great info, thank you, mattmatt

roidrage commented 15 years ago

Fixed.

leomayleomay commented 15 years ago

mattmatt, the problem is still there, environment: amqp 0.6.5 eventmachine 0.12.10 nanite 0.4.1.13

leomayleomay commented 15 years ago

mattmatt, since I switch my mod_rails to conservative spawning mode, it works quite well right now, but you know, I still want it work under smart mode if it's possible

roidrage commented 15 years ago

Interesting, though in any way I usually recommend running mappers as separate processes anyway. Reduces that kind of pain quite considerably.

leomayleomay commented 15 years ago

mattmatt, for now, I've extracted Nanite related code out of Rails stack, and running it on a DRB server (basically, a separate process), it's working now. Thanks for the tips.