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 Feb-23 7:59 am

Task NameNext RunRun Count
Find Broken LinksFeb-24148
Add a History ReportFeb-23 5:59 am1129
Update Overdue Repeating TasksFeb-24148
Wiki Health CheckFeb-23 4:59 am289
Add a Scheduler ReportFeb-23 2:59 am442

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