1: <?php
2:
3: App::uses('Scheduling', 'Scheduling.Lib');
4:
5: class RunShellCallShell extends Shell {
6:
7: public $uses = array(
8: 'Scheduling.SchedulingShellCallLog',
9: );
10:
11: public function getOptionParser() {
12: $parser = parent::getOptionParser();
13: $parser->addArgument('scheduling_shell_call_log_id', array(
14: 'required' => true,
15: ));
16: return $parser;
17: }
18:
19: public function main() {
20: $schedulingShellCallLog = $this->SchedulingShellCallLog->findByIdOrThrowException(
21: $this->args[0]
22: );
23: $this->_runShellCall($schedulingShellCallLog);
24: Scheduling::setNextRun($schedulingShellCallLog['SchedulingShellCallLog']);
25: }
26:
27: private function _runShellCall($schedulingShellCallLog) {
28: $this->dispatchShell(
29: $schedulingShellCallLog['SchedulingShellCallLog']['shell'] .
30: ' ' . $schedulingShellCallLog['SchedulingShellCallLog']['args']
31: );
32: }
33:
34: }
35: