Version 2 (modified by thanos, 5 years ago) (diff)


A Job Scheduler 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 snabox and invoke the job.

Bugs/Feature Requests

Existing bugs and feature requests for SchedulerPlugin are here.

If you have any issues, create a new ticket.


Download the zipped source from here.


You can check out SchedulerPlugin 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

[7830] by thanos on 2010-04-08 16:58:50
New hack SchedulerPlugin, created by thanos


Author: thanos
Maintainer: thanos