Scheduled Tasks

The ToDo Pier app has a dependency on Sean DeNigris's Scheduler so that it can run tasks at specific times. This is done by:

  1. first creating a normal task, and adding reformatted code to execute, such as:

    (PRScheduledTaskExamples newForKernelNamed: 'Pier') reportOfHistoryOnPageAt: '/John Borden/Todo/Add a History Report/Report'.

    Be sure to check the kernel name, it is case sensitive. If the wrong name is given, it will create a new kernel (and more problems later). It can be checked with:

    PRKernel instances size.  "Should be 1"

  2. Create the report page (in this example /John Borden/Todo/Add a History Report/Report). This can be an empty page.
  3. In the Pharo image, execute:

    (PRPathLookup start: (PRKernel instanceNamed: 'Pier') root path: '/John Borden/Todo/Add a History Report') automate.

    This will change the task to be marked as completed and hidden from the menus. If the task was given a repeat duration, it will execute the above code with that frequency.

Once several tasks are automated like this, it is valuable to add a report of tasks, such as:


Run every 90 minutes:

Report generated on Mar-28 10:59 am

Task NameNext RunRun Count
Find Broken LinksMar-29182
Add a History ReportMar-28 8:59 am1402
Update Overdue Repeating TasksMar-29182
Wiki Health CheckMar-28 4:59 pm358
Add a Scheduler ReportMar-28 5:59 am987

(PRScheduledTaskExamples newForKernelNamed: 'Pier') reportOfSchedulerAt: '/John Borden/Todo' onPageAt: '/John Borden/Todo/Add a Scheduler Report/report'.