That's exactly how it is now; it's on what's called our app server which is a single machine.

The problem with our app server is that the developers aren't allowed access to it; the software is updated and installed by our production control/release management team.

So, for example, if I need to look at the log files, I have to ask them to send me a zip file of the logs directory. If I need to tweak its configuration then I make a new release and schedule a deployment with them; so something as trivial as changing its crontab requires a new deployment.

And the app server is forbidden to run tomcat or a web server.

The reason making it a web app appeals to me is that then I can have it log to a database, and I can tweak its configuration via a web page. And I can have a checkbox, disable/enable so I can turn it off if needed.

What adds to the difficulty of it is that the cron job is interacting with an IBM mainframe, uploading file with ftp and there's no real test instance of the mainframe side so testing is really scary (it's a legacy billing system so money is involved).

And we have three layers; dev, qa, and prod. I can deploy to dev, but I need to go through our release management to deploy to qa, and then to prod.

So I'm trying make something that gives me (and the end user) more direct and timely access to it.


Leon Rosenberg wrote:
it would probably be much easier to make this job a separate cron
process on one machine, or if it _must_ be in tomcat (why?) tie it to
an ip adress or server name, so the task just checks that it can only
run on tomcat1 or tomcat 10, or whatever...
Otherwise you'll need to check logs on all machines to find out which
run the task today.

Leon

On Sun, Jan 11, 2009 at 5:30 AM, Rusty Wright <rusty.wri...@gmail.com> wrote:
This isn't really a Tomcat question I'm guessing but I don't know where else
to ask.

In our setup we have multiple Tomcats behind a load balancer.  I have a
background task that will run once a day, via Quartz.  All Tomcats will be
using the same war so they will all run the job, but I need it so only one
of them runs the job.

I'm looking for ideas for how to implement this.  At the moment all I can
think of is to use a table in a database with a unique constraint on a
column, and each background process tries to insert today's date
(yyyy-mm-dd) and the one that succeeds runs the job, and the ones that
don't, do nothing.

Thanks


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to