protected function restartStalledJob($stalledJob)
    {
        if ($stalledJob->ResumeCounts < static::config()->get('stall_threshold')) {
            $stalledJob->restart();
            $logLevel = 'warning';
            $message = _t(
                __CLASS__ . '.STALLED_JOB_RESTART_MSG',
                'A job named {name} (#{id}) appears to have stalled. It will be stopped and restarted, please '
                . 'login to make sure it has continued',
                ['name' => $stalledJob->JobTitle, 'id' => $stalledJob->ID]
            );
        } else {
            $stalledJob->pause();
            $logLevel = 'error';
            $message = _t(
                __CLASS__ . '.STALLED_JOB_MSG',
                'A job named {name} (#{id}) appears to have stalled. It has been paused, please login to check it',
                ['name' => $stalledJob->JobTitle, 'id' => $stalledJob->ID]
            );
        }

        $this->getLogger()->log(
            $logLevel,
            $message,
            [
                'file' => __FILE__,
                'line' => __LINE__,
            ]
        );
        $from = Config::inst()->get(Email::class, 'admin_email');
        $to = Config::inst()->get(Email::class, 'queued_job_admin_email');
        $subject = _t(__CLASS__ . '.STALLED_JOB', 'Stalled job');

        if ($to) {
            $mail = Email::create($from, $to, $subject)
                ->setData([
                    'JobID' => $stalledJob->ID,
                    'Message' => $message,
                    'Site' => Director::absoluteBaseURL(),
                ])
                ->setHTMLTemplate('QueuedJobsStalledJob');
            $mail->send();
        }
    }
protected function restartStalledJob($stalledJob)
    {
        if ($stalledJob->ResumeCounts < static::config()->get('stall_threshold')) {
            $stalledJob->restart();
            $logLevel = 'warning';
            $message = _t(
                __CLASS__ . '.STALLED_JOB_RESTART_MSG',
                'A job named {name} (#{id}) appears to have stalled. It will be stopped and restarted, please '
                . 'login to make sure it has continued',
                ['name' => $stalledJob->JobTitle, 'id' => $stalledJob->ID]
            );
        } else {
            $stalledJob->pause();
            $logLevel = 'error';
            $message = _t(
                __CLASS__ . '.STALLED_JOB_MSG',
                'A job named {name} (#{id}) appears to have stalled. It has been paused, please login to check it',
                ['name' => $stalledJob->JobTitle, 'id' => $stalledJob->ID]
            );
        }

        $this->getLogger()->log(
            $logLevel,
            $message,
            [
                'file' => __FILE__,
                'line' => __LINE__,
            ]
        );
        $from = Config::inst()->get(Email::class, 'admin_email');
        $to = Config::inst()->get(Email::class, 'queued_job_admin_email');
        $subject = _t(__CLASS__ . '.STALLED_JOB', 'Stalled job');

        if ($to) {
            $mail = Email::create($from, $to, $subject)
                ->setData([
                    'JobID' => $stalledJob->ID,
                    'Message' => $message,
                    'Site' => Director::absoluteBaseURL(),
                ])
                ->setHTMLTemplate('QueuedJobsStalledJob');
            $mail->send();
        }
    }
protected function restartStalledJob ( $ stalledJob ) { if ( $ stalledJob -> ResumeCounts < static :: config ( ) -> get ( 'stall_threshold' ) ) { $ stalledJob -> restart ( ) ; $ logLevel = 'warning' ; $ message = _t ( __CLASS__ . '.STALLED_JOB_RESTART_MSG' , 'A job named {name} (#{id}) appears to have stalled. It will be stopped and restarted, please ' . 'login to make sure it has continued' , [ 'name' => $ stalledJob -> JobTitle , 'id' => $ stalledJob -> ID ] ) ; } else { $ stalledJob -> pause ( ) ; $ logLevel = 'error' ; $ message = _t ( __CLASS__ . '.STALLED_JOB_MSG' , 'A job named {name} (#{id}) appears to have stalled. It has been paused, please login to check it' , [ 'name' => $ stalledJob -> JobTitle , 'id' => $ stalledJob -> ID ] ) ; } $ this -> getLogger ( ) -> log ( $ logLevel , $ message , [ 'file' => __FILE__ , 'line' => __LINE__ , ] ) ; $ from = Config :: inst ( ) -> get ( Email :: class , 'admin_email' ) ; $ to = Config :: inst ( ) -> get ( Email :: class , 'queued_job_admin_email' ) ; $ subject = _t ( __CLASS__ . '.STALLED_JOB' , 'Stalled job' ) ; if ( $ to ) { $ mail = Email :: create ( $ from , $ to , $ subject ) -> setData ( [ 'JobID' => $ stalledJob -> ID , 'Message' => $ message , 'Site' => Director :: absoluteBaseURL ( ) , ] ) -> setHTMLTemplate ( 'QueuedJobsStalledJob' ) ; $ mail -> send ( ) ; } }
Attempt to restart a stalled job

@param QueuedJobDescriptor $stalledJob

@return bool True if the job was successfully restarted
Attempt to restart a stalled job