Re: [The Java Posse] Re: Coordinating jobs
I recently worked on a Grails app that ran as four nodes; one node performed job scheduling and announced itself as the 'master' via a UDP broadcast. If I remember correctly it would send a UDP periodically; when other nodes stopped receiving, another would assign itself as master, start broadcasting and run the jobs instead. I can't remember if we rolled our own Java plugin, or used something off the shelf, I'll see if I can remember but I do know it worked very well. On Sunday, 28 October 2012 15:58:01 UTC, rakesh mailgroups wrote: thanks guys for the recommendation to use Quartz Jdbc thingy. Unfortunately, I am not using a relational db!! I'm using MongoDB. Rakesh On 27 October 2012 16:59, Wesley Hartford wes...@cutterslade.cajavascript: wrote: I've been using quartz for years and love it. The JDBC job store can be a little tricky to get working, but it gives you just what you're looking for, and once it is set up, it is rock solid. Reply if you are having trouble setting it up and I'll post the settings I've used. Wesley On Wednesday, October 24, 2012 1:37:14 AM UTC-7, rakesh mailgroups wrote: Hi, I have some batch jobs running and am using Quartz Schedular. They run based on a specific time schedule (eg 55 and 25 minutes each hour over 24 hours). Thing is, I have (at a minimum) 2 nodes running the same software for disaster recovery reasons. So I need a way to only run a job by one of the nodes. Turns out its quite tricky to get right and I keep finding bugs which are hard to reproduce! The current implementation requires each node to write to the db first to say its going to run the job, then read back the record to see if it succeeded in the write (there's a unique key on the job name) and if so, run the job. However, there seem to be issues with overlapping jobs (I think, hard to diagnose after the fact and they are intermittent). I was wondering if there was an easier solution out there I could easily use? Thanks Rakesh -- You received this message because you are subscribed to the Google Groups Java Posse group. To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/ZjGaaSih0SAJ. To post to this group, send email to java...@googlegroups.comjavascript: . To unsubscribe from this group, send email to javaposse+...@googlegroups.com javascript:. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en. -- You received this message because you are subscribed to the Google Groups Java Posse group. To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/IMcGnkXuL70J. To post to this group, send email to javaposse@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
Re: [The Java Posse] Re: Coordinating jobs
Jgroups - http://www.jgroups.org/ ?? No affiliation. I have used it before for grouping and notifications (member leaves, member joins, etc). No significant issues. On 29 October 2012 18:53, Phil Haigh surfsoftconsult...@gmail.com wrote: I recently worked on a Grails app that ran as four nodes; one node performed job scheduling and announced itself as the 'master' via a UDP broadcast. If I remember correctly it would send a UDP periodically; when other nodes stopped receiving, another would assign itself as master, start broadcasting and run the jobs instead. I can't remember if we rolled our own Java plugin, or used something off the shelf, I'll see if I can remember but I do know it worked very well. On Sunday, 28 October 2012 15:58:01 UTC, rakesh mailgroups wrote: thanks guys for the recommendation to use Quartz Jdbc thingy. Unfortunately, I am not using a relational db!! I'm using MongoDB. Rakesh On 27 October 2012 16:59, Wesley Hartford wes...@cutterslade.ca wrote: I've been using quartz for years and love it. The JDBC job store can be a little tricky to get working, but it gives you just what you're looking for, and once it is set up, it is rock solid. Reply if you are having trouble setting it up and I'll post the settings I've used. Wesley On Wednesday, October 24, 2012 1:37:14 AM UTC-7, rakesh mailgroups wrote: Hi, I have some batch jobs running and am using Quartz Schedular. They run based on a specific time schedule (eg 55 and 25 minutes each hour over 24 hours). Thing is, I have (at a minimum) 2 nodes running the same software for disaster recovery reasons. So I need a way to only run a job by one of the nodes. Turns out its quite tricky to get right and I keep finding bugs which are hard to reproduce! The current implementation requires each node to write to the db first to say its going to run the job, then read back the record to see if it succeeded in the write (there's a unique key on the job name) and if so, run the job. However, there seem to be issues with overlapping jobs (I think, hard to diagnose after the fact and they are intermittent). I was wondering if there was an easier solution out there I could easily use? Thanks Rakesh -- You received this message because you are subscribed to the Google Groups Java Posse group. To view this discussion on the web visit https://groups.google.com/d/** msg/javaposse/-/ZjGaaSih0SAJhttps://groups.google.com/d/msg/javaposse/-/ZjGaaSih0SAJ . To post to this group, send email to java...@googlegroups.com. To unsubscribe from this group, send email to javaposse+...@** googlegroups.com. For more options, visit this group at http://groups.google.com/** group/javaposse?hl=en http://groups.google.com/group/javaposse?hl=en. -- You received this message because you are subscribed to the Google Groups Java Posse group. To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/IMcGnkXuL70J. To post to this group, send email to javaposse@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en. -- You received this message because you are subscribed to the Google Groups Java Posse group. To post to this group, send email to javaposse@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
Re: [The Java Posse] Re: Coordinating jobs
thanks guys for the recommendation to use Quartz Jdbc thingy. Unfortunately, I am not using a relational db!! I'm using MongoDB. Rakesh On 27 October 2012 16:59, Wesley Hartford wes...@cutterslade.ca wrote: I've been using quartz for years and love it. The JDBC job store can be a little tricky to get working, but it gives you just what you're looking for, and once it is set up, it is rock solid. Reply if you are having trouble setting it up and I'll post the settings I've used. Wesley On Wednesday, October 24, 2012 1:37:14 AM UTC-7, rakesh mailgroups wrote: Hi, I have some batch jobs running and am using Quartz Schedular. They run based on a specific time schedule (eg 55 and 25 minutes each hour over 24 hours). Thing is, I have (at a minimum) 2 nodes running the same software for disaster recovery reasons. So I need a way to only run a job by one of the nodes. Turns out its quite tricky to get right and I keep finding bugs which are hard to reproduce! The current implementation requires each node to write to the db first to say its going to run the job, then read back the record to see if it succeeded in the write (there's a unique key on the job name) and if so, run the job. However, there seem to be issues with overlapping jobs (I think, hard to diagnose after the fact and they are intermittent). I was wondering if there was an easier solution out there I could easily use? Thanks Rakesh -- You received this message because you are subscribed to the Google Groups Java Posse group. To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/ZjGaaSih0SAJ. To post to this group, send email to javaposse@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en. -- You received this message because you are subscribed to the Google Groups Java Posse group. To post to this group, send email to javaposse@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
[The Java Posse] Re: Coordinating jobs
I've been using quartz for years and love it. The JDBC job store can be a little tricky to get working, but it gives you just what you're looking for, and once it is set up, it is rock solid. Reply if you are having trouble setting it up and I'll post the settings I've used. Wesley On Wednesday, October 24, 2012 1:37:14 AM UTC-7, rakesh mailgroups wrote: Hi, I have some batch jobs running and am using Quartz Schedular. They run based on a specific time schedule (eg 55 and 25 minutes each hour over 24 hours). Thing is, I have (at a minimum) 2 nodes running the same software for disaster recovery reasons. So I need a way to only run a job by one of the nodes. Turns out its quite tricky to get right and I keep finding bugs which are hard to reproduce! The current implementation requires each node to write to the db first to say its going to run the job, then read back the record to see if it succeeded in the write (there's a unique key on the job name) and if so, run the job. However, there seem to be issues with overlapping jobs (I think, hard to diagnose after the fact and they are intermittent). I was wondering if there was an easier solution out there I could easily use? Thanks Rakesh -- You received this message because you are subscribed to the Google Groups Java Posse group. To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/ZjGaaSih0SAJ. To post to this group, send email to javaposse@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.