* @param exitCode int Exit code to pass on to exit function and monitor report * @param fatal boolean Should we exit out entirely * @return none **/ public function endCronjob($cron_name, $msgCode, $exitCode = 0, $fatal = false, $mail = true) { $this->setStatus($cron_name . "_active", "yesno", 0); $this->setStatus($cron_name . "_message", "message", $this->getErrorMsg($msgCode)); $this->setStatus($cron_name . "_status", "okerror", $exitCode); $this->setStatus($cron_name . "_endtime", "date", time()); if ($mail) { $aMailData = array('email' => $this->setting->getValue('system_error_email'), 'subject' => 'Cronjob Failure', 'Error Code' => $msgCode, 'Error Message' => $this->getErrorMsg($msgCode)); if (!$this->mail->sendMail('notifications/error', $aMailData)) { $this->setErrorMessage('Failed to send mail notification'); } } if ($fatal) { if ($exitCode != 0) { $this->setStatus($cron_name . "_disabled", "yesno", 1); } exit($exitCode); } } } $monitoring = new Monitoring(); $monitoring->setErrorCodes($aErrorCodes); $monitoring->setConfig($config); $monitoring->setDebug($debug); $monitoring->setMail($mail); $monitoring->setMysql($mysqli); $monitoring->setSetting($setting);