18 define(
'TASKS_REGISTRY_FILE',
'registry/scheduledTasks.xml');
20 import(
'lib.pkp.classes.scheduledTask.ScheduledTask');
21 import(
'lib.pkp.classes.scheduledTask.ScheduledTaskHelper');
22 import(
'lib.pkp.classes.scheduledTask.ScheduledTaskDAO');
38 parent::__construct(
$argv);
40 if (isset($this->argv[0])) {
41 $this->file = $this->argv[0];
43 $this->file = TASKS_REGISTRY_FILE;
46 if (!file_exists($this->file) || !is_readable($this->file)) {
47 printf(
"Tasks file \"%s\" does not exist or is not readable!\n", $this->file);
58 echo
"Script to run a set of scheduled tasks\n"
59 .
"Usage: {$this->scriptName} [tasks_file]\n";
75 $tree = $xmlParser->parse(
$file);
78 printf(
"Unable to parse file \"%s\"!\n",
$file);
82 foreach ($tree->getChildren() as $task) {
83 $className = $task->getAttribute(
'class');
85 $frequency = $task->getChildByName(
'frequency');
86 if (isset($frequency)) {
106 if (!is_object($task =
instantiate($className,
null,
null,
'execute', $args))) {
109 $this->taskDao->updateLastRunTime($className);