Re: [The Java Posse] Re: Coordinating jobs

2012-10-29 Thread Phil Haigh
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

2012-10-29 Thread Ryan Schipper
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

2012-10-28 Thread Rakesh
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

2012-10-27 Thread Wesley Hartford
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.