ruote log_2010-04-28

2010-04-28 05:47:19 utc irfn Hi all!
2010-04-28 05:47:27 utc jmettraux Hi !
2010-04-28 05:48:50 utc irfn jmettraux The older openwferu pages mention an ActiveresourceParticipant
2010-04-28 05:49:03 utc irfn is that in existence or is it deprecated
2010-04-28 05:49:13 utc jmettraux 2.1-wise, it's obsolete
2010-04-28 05:49:16 utc irfn in favor of ruote-jig
2010-04-28 05:49:19 utc irfn oh
2010-04-28 05:49:20 utc jmettraux no
2010-04-28 05:49:30 utc jmettraux aah
2010-04-28 05:49:35 utc jmettraux yes, ruote-jig
2010-04-28 05:49:44 utc irfn ok
2010-04-28 05:49:47 utc jmettraux not sure how it plays with ActiveResource
2010-04-28 05:50:04 utc jmettraux tosch_le should be here in one or two hours, maybe he can answer
2010-04-28 05:50:24 utc jmettraux anyway, a participant + any http client should do the trick
2010-04-28 05:50:37 utc irfn hmm
2010-04-28 05:50:43 utc irfn yeah that is true
2010-04-28 05:50:50 utc irfn i was more intrested in error handling
2010-04-28 05:51:04 utc jmettraux in which sense ?
2010-04-28 05:51:16 utc irfn so yesterday i had a chat with tosch
2010-04-28 05:51:47 utc jmettraux (reading the transcript now)
2010-04-28 05:52:39 utc jmettraux ok, read
2010-04-28 05:52:54 utc jmettraux maybe
2010-04-28 05:53:16 utc jmettraux in case, of error, is human intervention == admin intervention ?
2010-04-28 05:53:26 utc irfn so one participant sets an error on work item and another can branch based on that condition
2010-04-28 05:53:39 utc irfn hmm
2010-04-28 05:53:47 utc jmettraux workitem.fields['error'] = 'x' ?
2010-04-28 05:54:00 utc irfn we are yet to figure tht
2010-04-28 05:54:24 utc irfn so 95% of time workflow should go on fine without intervention
2010-04-28 05:54:31 utc jmettraux great
2010-04-28 05:54:42 utc jmettraux then simply let the process instances go into errors
2010-04-28 05:55:07 utc jmettraux and use the /error resource (which Kenneth and Torsten haven't yet implemented) to replay_at the error
2010-04-28 05:55:12 utc irfn 5% includes (Plain Retry) and User Intervened
2010-04-28 05:55:50 utc irfn yeah we want something like that
2010-04-28 05:55:53 utc jmettraux about retries : http://groups.google.com/group/openwferu-users/browse_thread/thread/2e6a95708c10847b (quick note)
2010-04-28 05:56:44 utc irfn yesterday i was trying "SemiExternalParticipant" you have mentioned
2010-04-28 05:56:52 utc jmettraux aah
2010-04-28 05:57:16 utc irfn do you think that is a good idea
2010-04-28 05:57:27 utc jmettraux I don't know your context, I cannot say
2010-04-28 05:57:27 utc irfn so my idea was that
2010-04-28 05:58:08 utc irfn A Step workitem goes into storage on failure
2010-04-28 05:58:25 utc irfn and reply is written in such a way
2010-04-28 05:58:44 utc jmettraux well, ruote provides an error system already
2010-04-28 05:58:55 utc irfn that user intervention can edit the work item and then retry
2010-04-28 05:59:30 utc jmettraux maybe you don't need something as complicated as the semi external participant
2010-04-28 05:59:33 utc irfn yeah tosch_le already pointed that out
2010-04-28 05:59:41 utc irfn agreed
2010-04-28 06:00:14 utc jmettraux http://github.com/jmettraux/ruote/blob/ruote2.1/test/functional/ft_2_errors.rb#L132-169
2010-04-28 06:01:08 utc irfn intresting
2010-04-28 06:01:10 utc jmettraux you can manipulate the error http://github.com/jmettraux/ruote/blob/ruote2.1/lib/ruote/engine/process_error.rb
2010-04-28 06:01:16 utc jmettraux to change the workitem fields
2010-04-28 06:01:21 utc jmettraux before the replay
2010-04-28 06:01:23 utc irfn will try out the replay at errors
2010-04-28 06:01:33 utc jmettraux so it's a kind of "storage" in a sense
2010-04-28 06:01:44 utc irfn yeah
2010-04-28 06:29:31 utc jmettraux tosch_le: thanks for helping irfn yesterday
2010-04-28 06:29:54 utc jmettraux today I advised him to go with vanilla /errors + replay_at_error(x)
2010-04-28 06:30:14 utc jmettraux seems in line with your analysis
2010-04-28 06:30:50 utc tosch_le :-)
2010-04-28 07:31:25 utc tosch_le jmettraux: how do you run your rails3+rk app? using passenger? how do you make sure a worker is running?
2010-04-28 07:32:41 utc jmettraux tosch_le: for now, I'm still in development
2010-04-28 07:32:43 utc tosch_le (i'm about to update ruote.torstenschoenebaum.de to the current rk gem and i'm wondering how to make sure there's a running worker.)
2010-04-28 07:33:02 utc jmettraux I have the worker 'inside' the engine
2010-04-28 07:33:07 utc tosch_le do you have any plans on that yet?
2010-04-28 07:33:41 utc jmettraux since my apps are for small teams, I want a single server thing
2010-04-28 07:33:52 utc jmettraux simplistic
2010-04-28 07:33:58 utc tosch_le that won't be not a very good idea for the demo if i run it in passenger
2010-04-28 07:34:11 utc jmettraux you'll have to tune the thread things
2010-04-28 07:34:33 utc tosch_le i don't want the demo to run all the time even if there are no users
2010-04-28 07:34:37 utc jmettraux or have a dedicated worker process
2010-04-28 07:34:39 utc tosch_le waste of memory
2010-04-28 07:34:51 utc tosch_le yeah, i thought about that worker process
2010-04-28 07:35:37 utc tosch_le there is that rake task in ruote-on-rails, but running rake in a startup script to start a daemon somehow feels weird
2010-04-28 07:36:04 utc tosch_le so i thought about using daemon-kit and/or god
2010-04-28 07:36:06 utc jmettraux I had this idea : making the worker cron triggered
2010-04-28 07:36:30 utc jmettraux every minute, a cron entry would send a SIGUSR1 to the process containing ruote
2010-04-28 07:36:50 utc jmettraux and that would trigger the worker, until there are no more jobs to process
2010-04-28 07:37:29 utc jmettraux just an idea
2010-04-28 07:38:53 utc tosch_le sounds nice. but my ruby foo seems to be too low to make that running ;-)
2010-04-28 07:39:06 utc tosch_le but hey, i'll see where i get with that idea
2010-04-28 07:39:30 utc jmettraux I can implement it if you want
2010-04-28 07:39:38 utc jmettraux I did some preparatory work
2010-04-28 07:41:02 utc jmettraux if you want to try, just tell me and I'll "ride shotgun"
2010-04-28 07:41:06 utc tosch_le hey, you don't have to do other people's work ;-)
2010-04-28 07:41:07 utc jmettraux (passenger seat)
2010-04-28 07:41:24 utc jmettraux it's a strategical issue for me
2010-04-28 07:41:45 utc jmettraux lower signature engine/worker
2010-04-28 07:42:05 utc tosch_le i'd really like to give that idea a try.
2010-04-28 07:42:11 utc jmettraux please do
2010-04-28 07:42:30 utc jmettraux Kernel.trap
2010-04-28 07:42:38 utc tosch_le and i'd like to help where i can. didn't i saw some work of yours on that already on github?
2010-04-28 07:42:58 utc jmettraux only the TODO
2010-04-28 07:43:38 utc jmettraux I did the exercizes offline : http://gist.github.com/381843
2010-04-28 07:44:05 utc jmettraux I was experimenting with mutexes and multiples SIGnals
2010-04-28 07:45:03 utc jmettraux the cron entry could look like
2010-04-28 07:45:33 utc jmettraux ps aux | grep ruote | awk xxx | kill -s USR1
2010-04-28 07:46:48 utc jmettraux that'll require you to play with lib/ruote/worker.rb
2010-04-28 07:48:32 utc tosch_le wouldn't be "killall -s USR1 ruote" more easy and understandable?
2010-04-28 07:48:46 utc jmettraux +1
2010-04-28 07:48:49 utc jmettraux :)
2010-04-28 07:49:23 utc tosch_le but that requires a running ruote process, too.
2010-04-28 07:49:37 utc jmettraux indeed
2010-04-28 07:49:55 utc jmettraux how does that play with passenger...
2010-04-28 07:49:59 utc tosch_le what about checking if there's a running worker and starting one if not?
2010-04-28 07:50:11 utc jmettraux as you wish
2010-04-28 07:50:14 utc jmettraux whish
2010-04-28 07:50:17 utc tosch_le (and stopping the worker if all jobs are done)
2010-04-28 07:50:23 utc jmettraux ouch
2010-04-28 07:51:20 utc jmettraux stopping the worker when all jobs are done is OK, as long as there are no scheduled jobs
2010-04-28 07:51:36 utc tosch_le indeed
2010-04-28 07:52:48 utc tosch_le but they would be triggered when the worker awakes at the next cron event
2010-04-28 07:52:55 utc jmettraux yes
2010-04-28 07:53:25 utc jmettraux well, you were saying "what about checking if there's a running worker and starting one if not?"
2010-04-28 07:53:38 utc tosch_le i'm just unsure if that would save that much resources: starting the ruby interpreter takes its time
2010-04-28 07:54:01 utc jmettraux that's why I wanted a sleeping worker
2010-04-28 07:54:53 utc jmettraux along with a webserver, he could be woken up by a request or a SIGUSR1
2010-04-28 07:54:54 utc tosch_le so i assume it would be best to have a small ruby daemon around a mostly sleeping working.
2010-04-28 07:55:08 utc jmettraux a worker
2010-04-28 07:55:23 utc jmettraux by default the worker wakes up every 0.400s
2010-04-28 07:55:24 utc tosch_le ouch, yes, s/king/ker/
2010-04-28 07:55:31 utc jmettraux so most of the time it sleeps
2010-04-28 07:56:23 utc tosch_le so i will have a look for decent and easy ways to daemonize a ruby thread
2010-04-28 07:56:30 utc jmettraux daemon-kit
2010-04-28 07:56:49 utc tosch_le (why did i expect that answer?) ;-)
2010-04-28 07:56:58 utc jmettraux but that doesn't solve your "I don't want to waste memory" constraint
2010-04-28 07:57:41 utc tosch_le yeah, but i can't slap all flies with one slap in that case, i suppose
2010-04-28 07:58:12 utc tosch_le and a single worker with nearly no processes shouldn't have that big memory footprint, shouldn't it?
2010-04-28 07:58:22 utc jmettraux it shouldn't
2010-04-28 07:58:27 utc jmettraux if it does, please tell me
2010-04-28 07:58:34 utc tosch_le sure.
2010-04-28 07:58:44 utc jmettraux or fix it and then tell me ;)
2010-04-28 08:01:42 utc tosch_le even better. but i don't expect there'll be need for that ;-p
2010-04-28 08:11:10 utc jmettraux maybe you could start with a "always at least 1 process" passenger and then measure and test
2010-04-28 08:21:48 utc tosch_le that won't work in my case as you can't configure the number of passengers per vhost but only globally
2010-04-28 08:22:09 utc jmettraux aaah
2010-04-28 08:22:42 utc tosch_le and there are some more apps on that server i don't want to run all the time...
2010-04-28 08:23:30 utc tosch_le (alas, one day when i'm rich, i'll have a dedicated machine and a separate vm for each of my various projects...)
2010-04-28 08:42:12 utc anb__ Hello
2010-04-28 08:42:20 utc jmettraux anb_: hello !
2010-04-28 08:42:26 utc tosch_le hi!
2010-04-28 08:42:38 utc anb__ How are you ?
2010-04-28 08:42:46 utc jmettraux fine, and you ?
2010-04-28 08:42:53 utc anb__ great, thx
2010-04-28 08:44:08 utc anb__ I really like http://ruote.rubyforge.org/process_administration.html
2010-04-28 08:44:21 utc jmettraux ouch
2010-04-28 08:44:26 utc jmettraux have to finish it
2010-04-28 08:44:43 utc anb__ yes, but it's a nice start
2010-04-28 08:45:05 utc jmettraux :)
2010-04-28 08:46:51 utc anb__ we're really paranoid about debugging and administration here
2010-04-28 08:47:07 utc anb__ traumatized by jbpm probably
2010-04-28 08:47:12 utc jmettraux ouch
2010-04-28 08:47:32 utc jmettraux feel free to tell me which part of the doc you want to be filled
2010-04-28 08:47:41 utc jmettraux I like documentation on demand
2010-04-28 08:47:53 utc jmettraux and please tell me which parts are too obscure
2010-04-28 08:48:04 utc anb__ sure, thanks !
2010-04-28 08:48:20 utc jmettraux thanks to you
2010-04-28 08:49:02 utc jmettraux workflow project starting ?
2010-04-28 08:49:45 utc anb__ I hope we'll start next monday so I'm de-dusting the ruote stuff
2010-04-28 08:51:33 utc jmettraux we're here to help, irc and mailing list
2010-04-28 08:55:05 utc jmettraux I hope to release a 2.1.10 soon
2010-04-28 08:56:10 utc jmettraux the conversation with Oleg yielded interesting results
2010-04-28 08:57:11 utc anb__ yes, i've been following some interesting discussions on the mailing list
2010-04-28 08:57:52 utc anb__ you're thinking about the on_reply proposal ?
2010-04-28 08:58:15 utc jmettraux yes, among others