| 2013-01-15 09:47:39 utc | hartog | hi all! |
| 2013-01-15 09:49:54 utc | hartog | jmettraux: given this radial: https://gist.github.com/4537531 |
| 2013-01-15 09:50:20 utc | hartog | how can I actually update the workitem with the external event? |
| 2013-01-15 09:50:31 utc | hartog | should I make a receiver for that? |
| 2013-01-15 10:00:24 utc | jmettraux | hello, I am not really sure how to answer |
| 2013-01-15 10:00:36 utc | jmettraux | your gist just shows a sequence of participants |
| 2013-01-15 10:01:14 utc | jmettraux | the only hint in it is the "unless external event happened" |
| 2013-01-15 10:01:43 utc | jmettraux | ... well, I'd say you could have a participant right before charly that checks for external events |
| 2013-01-15 10:02:26 utc | jmettraux | and sets your field |
| 2013-01-15 10:03:19 utc | jmettraux | most of the time it's better not to dive into modelling immediately, explaining the use case in regular prose is better |
| 2013-01-15 10:03:32 utc | hartog | I would like to store the event with the ''process'' as it happens |
| 2013-01-15 10:03:35 utc | jmettraux | grab a coworker and explain to him what you want to do |
| 2013-01-15 10:04:20 utc | jmettraux | does the external thing that emit those events know about the process? |
| 2013-01-15 10:04:20 utc | hartog | so; grab the workitem(s) from storage and update the fields when something happens in these 7 days |
| 2013-01-15 10:04:31 utc | jmettraux | stop talking details |
| 2013-01-15 10:04:37 utc | hartog | yes, it would know there is a process |
| 2013-01-15 10:04:45 utc | jmettraux | how does it know? |
| 2013-01-15 10:05:35 utc | hartog | because there is some database that says here is a guy with processes |
| 2013-01-15 10:05:55 utc | jmettraux | and how does the database know about the process? |
| 2013-01-15 10:05:58 utc | hartog | and I could add that extra participant, but this is the most simplified version of such a workflow |
| 2013-01-15 10:06:26 utc | hartog | and I just want to store the info with the process or in the workitem |
| 2013-01-15 10:07:08 utc | hartog | the db would know because I store the process-wfid at launch time |
| 2013-01-15 10:07:15 utc | jmettraux | ok |
| 2013-01-15 10:07:40 utc | jmettraux | the vanilla thing: |
| 2013-01-15 10:07:51 utc | jmettraux | you have a participant that is given a workitem |
| 2013-01-15 10:08:14 utc | jmettraux | the participant transmits the details some external system. The participant doesn't reply to the engine |
| 2013-01-15 10:08:52 utc | jmettraux | the external system contacts back the participant/engine via a receiver, the process moves on |
| 2013-01-15 10:09:10 utc | jmettraux | the flow looks like: Ruote.define { the_participant } |
| 2013-01-15 10:10:15 utc | jmettraux | note that the external system knows about the process and the step in the process thanks to the participant |
| 2013-01-15 10:10:40 utc | jmettraux | maybe your 7 days are a timeout: |
| 2013-01-15 10:10:56 utc | jmettraux | Ruote.define { the_participant :timeout => '7d' } |
| 2013-01-15 10:11:29 utc | jmettraux | but your process hint at a static "there are always 7 days, at the end of them let's look at what happened" |
| 2013-01-15 10:11:45 utc | hartog | it is not a timeout indeed |
| 2013-01-15 10:12:57 utc | jmettraux | so we could refine that into having a participant that is "open" for 7 days, the external system can pick its workitem and modify the payload, after 7 days, the flow resumes with the updated workitem |
| 2013-01-15 10:13:32 utc | jmettraux | out of the box, you could do that with a storage participant set to a timeout of 7 days |
| 2013-01-15 10:13:53 utc | hartog | i could certainly imagine that indeed |
| 2013-01-15 10:14:01 utc | jmettraux | your external system carefully updates the workitem during the 7 days, never proceeding it |
| 2013-01-15 10:14:09 utc | jmettraux | the proceed would be done by the timeout |
| 2013-01-15 10:14:45 utc | hartog | that would almost certainly work |
| 2013-01-15 10:15:48 utc | hartog | updated the gist, would it look like that? |
| 2013-01-15 10:15:56 utc | jmettraux | link please |
| 2013-01-15 10:16:09 utc | hartog | https://gist.github.com/4537531 |
| 2013-01-15 10:16:28 utc | hartog | ACTION really has to (find someone to) create a ruote cheat sheet |
| 2013-01-15 10:16:51 utc | jmettraux | yeah, people like to write code, not documentation |
| 2013-01-15 10:17:02 utc | jmettraux | "storage_wait" is very obscure |
| 2013-01-15 10:17:11 utc | hartog | thank you! |
| 2013-01-15 10:17:14 utc | hartog | ;) |
| 2013-01-15 10:17:17 utc | jmettraux | gather_info :timeout: '7d' |
| 2013-01-15 10:17:36 utc | jmettraux | do_the_external_thinggy timeout: '7d' |
| 2013-01-15 10:17:59 utc | hartog | And i'm not blaming you for not writing docs; it is a though job to get this show up-and-running all by yourself |
| 2013-01-15 10:18:10 utc | hartog | you have my utmost respect for that |
| 2013-01-15 10:18:58 utc | hartog | ACTION shall walk the timeout ruote |
| 2013-01-15 10:19:47 utc | hartog | oh; one more question (gist in the making, hang on!) |
| 2013-01-15 10:23:57 utc | hartog | no - no more questions |
| 2013-01-15 10:24:04 utc | hartog | rubber ducking the gist already helped |
| 2013-01-15 10:24:13 utc | jmettraux | :-) |
| 2013-01-15 19:44:17 utc | ypz | morning! |
| 2013-01-15 19:46:13 utc | ypz | is there any real life open source apps using Ruote with Ruby on Rails ? |
| 2013-01-15 21:35:59 utc | jmettraux | ypz: don't know about open source apps, but there are a couple of closed source apps that do: http://ruote.rubyforge.org/users.html |
| 2013-01-15 21:48:03 utc | jmettraux | ypz: hello and welcome to #ruote |
| 2013-01-15 21:48:11 utc | jmettraux | ypz: don't know about open source apps, but there are a couple of closed source apps that do: http://ruote.rubyforge.org/users.html |
| 2013-01-15 21:48:50 utc | ypz | Hi, John |
| 2013-01-15 21:49:47 utc | ypz | I am considering using Route in our project, so just want to look around to see how it is used in real life apps, not just examples coming in the route source |
| 2013-01-15 21:50:07 utc | jmettraux | your project is a real life open source app? |
| 2013-01-15 21:50:32 utc | ypz | it's still on the drawing board |
| 2013-01-15 21:50:58 utc | jmettraux | what will it be about? |
| 2013-01-15 21:52:21 utc | ypz | it will run multi step jobs on many nodes according to a predefined process |
| 2013-01-15 21:53:57 utc | jmettraux | maybe https://github.com/danryan/mastermind |
| 2013-01-15 21:54:33 utc | jmettraux | I don't think it's Rails based, maybe the frontend is |
| 2013-01-15 21:54:38 utc | ypz | thanks, I'll take a look at it |
| 2013-01-15 21:55:30 utc | ypz | btwm, how do you pronounce "route" ? |
| 2013-01-15 21:55:42 utc | jmettraux | ru-o-te |
| 2013-01-15 21:55:57 utc | jmettraux | or "route" |
| 2013-01-15 21:56:04 utc | ypz | hey, thanks, good to know :) |
| 2013-01-15 21:56:08 utc | jmettraux | :-) |
| 2013-01-15 23:54:53 utc | jmettraux | randomcamel: hello and welcome to #ruote |
| 2013-01-15 23:56:44 utc | randomcamel | hi! |