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 Jun-18 6:29 am

Task NameNext RunRun Count
Find Broken LinksJun-1910
Add a History ReportJun-18 2:59 am49
Update Overdue Repeating TasksJun-1910
Add a Scheduler ReportJun-18 1:29 am91
Wiki Health CheckJun-18 4:59 am16

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