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