|Version 2 (modified by thanos, 4 years ago) (diff)|
A job scheduler and monitoring plug-in for Trac
The plugin lets you set up and manage and monitor scheduled jobs. It adds the following new Admin screens to Trac:
- Job Admin - List and lets you add, edit and delete jobs.
- Job Status Map - Where you can see the status of the last run of all the jobs. From here you can drill down to the run view of a particular job.
- Run View - Lists all job runs, showing you the runs status form where you can drill down to the runs log.
- Log Admin - Clean-up logs and other tasks.
Each job run environment and schedule is specified by the version of a single configuration file - a python script - in the SCM. Therefore any changes are carefully tracked. This script is used to create the sandbox and invoke the job.
If you have any issues, create a new ticket.
It's not yet available, but when it is you will be able to download the zipped source from here.
Here is an example of a job configuration.
from jobcontrolplugin import JobSpec, today from logging import DEBUG class MyJob(JobSpec): """ Run this script with logging in debug mode. Run every 45 minutes. Run /usr/local/etc/myscript at yesterday's date as a command argument. """ grouping="/All Jobs/Tests" log_level=DEBUG cron="* * * 45"; cmd ="/usr/local/etc/myscript --date=%s"; % today(-1) run= "runA, runB"; def setUp(self): pass def tearDown(self): pass def runA(self): pass @dependsOn(runA) def runB(self): pass MyJob.run()
You would check it in and make the Job record point to it.
|Job Id||Last Run||Status||Next Run||Configuration|
|My Job||12:45 Today||13:00 Today||OK||http://trac-hacks.org/browser/myjob.py?rev=6077|