Scheduler

Scheduler project page

An easy-to-use task scheduler that can run arbitrary blocks:


For ease of use tasks can be blocks passed to the scheduler (or any object that understands #value). For example:

"Start a new task scheduler and keep it around"
scheduler := TaskScheduler new.
scheduler start.

"Let's save the image every hour"
scheduler
do: [Smalltalk snapshot: true andQuit: false]
every: 60 minutes.

"Let's run a backup at 2am every day"
scheduler
do: ["backup code here"]
at: '2am'

"Let's perform a bank transfer every other hour starting at 1pm"
scheduler
do: ["swiss bank account transfer code"]
at: '1pm'
every: 2 hours.

"Let's do a one time email reminder"
scheduler
doOnce: ["email reminder to go on honeymoon"]
at: '2005-1-15T8:00'

"You can delete tasks by sending #delete to them"
(scheduler taskAt: 1) delete

"Stop the scheduler from running -- but don't delete its tasks"
scheduler stop.

Read the provided tests for more examples.



Look for latest version and more info on the Salty Pickle SqueakSource

ConfigurationOfScheduler-skg.2.mcz
ConfigurationOfScheduler-DarianFrajberg.1.mcz
SchedulerMagritte-SeanDeNigris.1.mcz
Scheduler-SeanDeNigris.22.mcz
Scheduler-SeanDeNigris.21.mcz
ConfigurationOfScheduler-SeanDeNigris.1.mcz
Scheduler-DiegoKogan.20.mcz
Scheduler-DiegoKogan.19.mcz
Scheduler-jrp.18.mcz
Scheduler-jrp.17.mcz
Scheduler-jrp.10.mcz
Scheduler-jrp.9.mcz
Scheduler-jrp.8.mcz
Scheduler-jrp.7.mcz
Scheduler-jrp.6.mcz
Scheduler-jrp.4.mcz
Scheduler-jrp.5.mcz