ruote tmp/log_2011-05-24.html

2011-05-24 01:16:58 utc phaeron hello, I have a weird issue with a process. a participant being called twice successfully doesn't get called the the third time.
2011-05-24 01:18:56 utc phaeron http://pastie.org/1964063
2011-05-24 01:19:21 utc phaeron it goes fine until .. echo "IN SUC"
2011-05-24 01:19:29 utc phaeron but never calls the next line
2011-05-24 01:30:15 utc jmettraux hello
2011-05-24 01:31:20 utc jmettraux phaeron: which participant it it ?
2011-05-24 01:32:08 utc phaeron jmettraux: sorry almost slept
2011-05-24 01:32:13 utc phaeron 4:30 am here :)
2011-05-24 01:32:24 utc phaeron img_status_update
2011-05-24 01:32:42 utc jmettraux does the process run into some error ?
2011-05-24 01:32:51 utc phaeron called twice successfully inside do_build_image
2011-05-24 01:33:01 utc phaeron no it just sits waiting there
2011-05-24 01:33:04 utc phaeron no errors
2011-05-24 01:33:28 utc jmettraux where exactly in do_build_image ?
2011-05-24 01:34:21 utc phaeron it returns successfully from do_build_image , I see the BUILD IMAGE RETURNED , and the IN SUC
2011-05-24 01:35:05 utc jmettraux but that's not in do_build_image
2011-05-24 01:35:12 utc jmettraux I don't understand
2011-05-24 01:35:44 utc phaeron do_build_image is a suprocess
2011-05-24 01:35:48 utc phaeron *subprocess
2011-05-24 01:35:53 utc phaeron as you can see of course
2011-05-24 01:36:03 utc jmettraux after IN SUC, there is no call to that subprocess
2011-05-24 01:36:25 utc phaeron yes there is a call to img_status_update
2011-05-24 01:36:28 utc jmettraux are you 100% that engine.process(wfid).errors is empty ?
2011-05-24 01:36:36 utc phaeron but it never gets it
2011-05-24 01:37:36 utc phaeron the errors directory is empty
2011-05-24 01:37:55 utc phaeron and ruote-kit doesn't show anything either
2011-05-24 01:38:02 utc phaeron any way else I can be sure
2011-05-24 01:38:21 utc jmettraux ok
2011-05-24 01:39:01 utc jmettraux may I see the code of img_status_update ?
2011-05-24 01:39:26 utc phaeron sure it's in python , as it talks to ruote over amqp
2011-05-24 01:39:37 utc jmettraux stop
2011-05-24 01:39:41 utc phaeron :)
2011-05-24 01:40:03 utc jmettraux are you sure the message got over from ruote over amqp ?
2011-05-24 01:40:33 utc phaeron so it got there twice, the third time I am not sure ,
2011-05-24 01:41:00 utc phaeron rabbitmq doesn't seem to have any messages pending for that exchange / queue
2011-05-24 01:41:05 utc jmettraux it'd be interesting to know where exactly it got lost
2011-05-24 01:41:14 utc jmettraux also, when you say twice
2011-05-24 01:41:23 utc phaeron yes I am tearing my hair out
2011-05-24 01:41:31 utc jmettraux is it "each time I run this process, the third time it gets lost"
2011-05-24 01:42:00 utc phaeron yes
2011-05-24 01:42:13 utc phaeron which is very strange of course
2011-05-24 01:42:38 utc jmettraux you could try to run the engine with RuoteKit.engine.noisy = true
2011-05-24 01:42:49 utc jmettraux which will make it bleed its activity to the stdout
2011-05-24 01:42:59 utc phaeron one second , I just noticed something interesting
2011-05-24 01:43:13 utc phaeron rabbitmqctl list_consumers -p boss
2011-05-24 01:43:28 utc jmettraux then if I were you, I'd add some debug output to the AmqpParticipant to double check a) did it receive the message b) did it put it succcessfully into the amqp rabbithole
2011-05-24 01:43:42 utc phaeron showed three img_status_update consumers
2011-05-24 01:43:51 utc phaeron restarting rabbitmq it shows one
2011-05-24 01:43:52 utc phaeron ..
2011-05-24 01:44:18 utc jmettraux could the process crash "consumers" ?
2011-05-24 01:44:29 utc jmettraux so that the third time, there is nothing to consume ?
2011-05-24 01:44:46 utc phaeron I am not sure how it happened. but now it works
2011-05-24 01:45:09 utc phaeron it seems I got the ampq connections into a weird state
2011-05-24 01:45:18 utc jmettraux maybe you guys have implemented error logs for your python consumers ?
2011-05-24 01:45:19 utc jmettraux ok
2011-05-24 01:45:21 utc jmettraux great
2011-05-24 01:45:27 utc jmettraux solved
2011-05-24 01:45:28 utc phaeron sorry for the noise
2011-05-24 01:45:38 utc jmettraux no worries, glad to help a fellow developer
2011-05-24 01:45:38 utc phaeron yes there are error logs and dumps and everything
2011-05-24 01:45:52 utc phaeron and it always worked twice , but the third time disappeared
2011-05-24 01:46:14 utc phaeron anyway
2011-05-24 01:46:17 utc jmettraux you should stop saying "disappeared"
2011-05-24 01:46:42 utc phaeron ok :) , well rabbitmq sent it to a "phantom" consumer
2011-05-24 01:46:47 utc jmettraux ah ok
2011-05-24 01:47:02 utc jmettraux thanks
2011-05-24 01:49:15 utc phaeron probably a crash at some point and the consumer was not unregistered
2011-05-24 01:49:33 utc phaeron because with clean shutdown the consumer is no longer there in rabbitmq
2011-05-24 01:50:36 utc phaeron jmettraux: another question , I think lbt had reported already the '${__result__} == false' issue ?
2011-05-24 01:50:47 utc phaeron false is a json False
2011-05-24 01:53:50 utc phaeron I can only find https://github.com/jmettraux/ruote/issues/27
2011-05-24 01:56:29 utc phaeron ok you're probably busy
2011-05-24 02:02:30 utc jmettraux phaeron: try "$__result__ == false"
2011-05-24 02:04:36 utc jmettraux if the workitem field holds the value false, then '${__result__} == false' will be substituted to 'false == false' which should yield true
2011-05-24 02:04:58 utc phaeron I will, thanks, probably needs more debugging output to check it
2011-05-24 02:05:04 utc phaeron but now it 5 am ..
2011-05-24 02:05:10 utc phaeron thanks , and sorry for the noise
2011-05-24 02:05:16 utc jmettraux no worries
2011-05-24 11:06:13 utc jmettraux jeffmess: hello and welcome to #ruote
2011-05-24 11:25:29 utc jeffmess jmettraux: thanks! :)
2011-05-24 11:40:42 utc jmettraux tosch_le: critical mass am Freitag ! My bike is ready
2011-05-24 12:32:14 utc tosch_le jmettraux: great! have fun!
2011-05-24 22:30:53 utc jmettraux kitplummer: hello and welcome to #ruote
2011-05-24 22:33:46 utc kitplummer thanks jmettraux - looks like your effort is going to come in handy for me. ;)
2011-05-24 22:33:54 utc kitplummer much appreciated.
2011-05-24 22:33:59 utc jmettraux ah great
2011-05-24 22:34:00 utc jmettraux enjoy
2011-05-24 22:34:17 utc kitplummer i have a lot to learn.
2011-05-24 22:36:17 utc jmettraux IRC and mailing list should help
2011-05-24 22:36:55 utc kitplummer i'm sure it will. need to get my head wrapped around ruote-backend to - so i can use resque workers.
2011-05-24 22:37:42 utc jmettraux ruote-backend : are you working for sandbox ?
2011-05-24 22:38:01 utc kitplummer sandbox?
2011-05-24 22:38:16 utc jmettraux he's the author of ruote-backend
2011-05-24 22:38:36 utc kitplummer nopeā€¦but, hoping to use it.
2011-05-24 22:40:10 utc kitplummer this is what i'm looking at: https://github.com/dolores/ruote-backend
2011-05-24 22:40:37 utc jmettraux understood
2011-05-24 22:45:25 utc jmettraux the author sometimes log in here as "sandbox", I guess that if you have issues with that storage, you can use the "issues" facilities on github to communicate
2011-05-24 22:47:43 utc kitplummer sounds good, will do.
2011-05-24 22:48:34 utc jmettraux let me lookup a conversation I had with him, I'm not sure he wants to maintain that project for a wider audience (wider than him and his company)
2011-05-24 22:49:43 utc kitplummer hmmn, that might explain why the gem wasn't in rubygems.org
2011-05-24 22:50:52 utc jmettraux can't find the conversation anymore
2011-05-24 22:51:30 utc kitplummer no worries, thanks for the tip tho.
2011-05-24 23:05:21 utc kitplummer is there another resque/redis backend?
2011-05-24 23:10:16 utc jmettraux there is ruote-redis, but it's not resque driven
2011-05-24 23:10:30 utc jmettraux http://ruote.rubyforge.org/source.html
2011-05-24 23:11:01 utc kitplummer k. i could probably be convinced that we don't need resque. but, the worker stuff is so simple there.
2011-05-24 23:11:26 utc jmettraux what's your goal ? Place work in a resque queue ?
2011-05-24 23:11:34 utc jmettraux and have it picked by a consumer ?
2011-05-24 23:11:59 utc kitplummer yup. distributed workers, listening to discrete queues.
2011-05-24 23:12:18 utc jmettraux you can write a custom participant
2011-05-24 23:12:30 utc kitplummer each phase of the workflow would create a job for a different external system interface.
2011-05-24 23:12:57 utc jmettraux ruote-amqp does that with amqp
2011-05-24 23:13:11 utc kitplummer hmmn.
2011-05-24 23:13:16 utc jmettraux "place task on the queue, wait for reply, when reply is here, reply to engine"
2011-05-24 23:13:22 utc kitplummer yep.
2011-05-24 23:13:41 utc jmettraux storage != participant
2011-05-24 23:13:48 utc kitplummer right.
2011-05-24 23:14:37 utc kitplummer i'm assuming not all storage systems support multiple participants per queue.
2011-05-24 23:16:42 utc jmettraux storage systems don't care about participants
2011-05-24 23:17:08 utc jmettraux they care about the persistence of ruote, not about the distribution of work to participants
2011-05-24 23:17:32 utc kitplummer got it.
2011-05-24 23:18:56 utc kitplummer does the Ruote::Engine support remote registration? just looking through examples now.
2011-05-24 23:20:32 utc jmettraux yes
2011-05-24 23:22:15 utc jmettraux well, it depends on the storage, if it can be reached remotely, then yes
2011-05-24 23:31:39 utc kitplummer cool, that's the mapping i was thinking about between storage and participantā€¦and what is attractive for me - wrt resque.
2011-05-24 23:32:00 utc kitplummer thanks for the info jmettraux
2011-05-24 23:32:13 utc jmettraux ah, you're welcome