/** * @param sTaskRun $run * @return sTask $this */ public function run($run) { // Set status to executing (and save) so other triggers don't also run this one $run->set('status', sTaskRun::STATUS_EXECUTING); $run->save(); // Run the task $return = $this->_run($run); // All done! Update status, completed date and save. $run->set('status', $run->hasErrors() ? sTaskRun::STATUS_FAILURE : sTaskRun::STATUS_SUCCESS); $run->set('message', $return); $run->set('executedon', time()); $run->save(); return $this; }