Version 1 (modified by thanos vassilakis, 8 years ago) (diff)

New hack JobControlPlugin, created by thanos

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.

Bugs/Feature Requests

Existing bugs and feature requests for JobControlPlugin are here.

If you have any issues, create a new ticket.


Download the zipped source from [download:jobcontrolplugin here].


You can check out JobControlPlugin from here using Subversion, or browse the source with Trac.


Here is an example of a job configuration.

from jobplugin 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"
    cron="* * * 45";
    cmd ="/usr/local/etc/myscript --date=%s"; % today(-1)
    run= "runA, runB";

    def setUp(self):
    def tearDown(self):
    def runA(self): pass

    def runB(self): pass

You would check it in and make the Job record point to it.

Job IdLast RunStatusNext RunConfiguration
My Job 12:45 Today 13:00 Today OK

Recent Changes

15873 by rjollos on 2016-09-07 21:52:33
Remove empty directory
7879 by thanos on 2010-04-22 15:00:51
tried to add a data table
7870 by thanos on 2010-04-19 16:32:50


Author: thanos
Maintainer: thanos

Attachments (2)

Download all attachments as: .zip