application/Espo/Core/Utils/Cron/Job.php
public function updateFailedJobAttempts()
    {
        $query = "
            SELECT * FROM job
            WHERE
                `status` = '" . CronManager::FAILED . "' AND
                deleted = 0 AND
                execute_time <= '".date('Y-m-d H:i:s')."' AND
                attempts > 0
        ";

        $pdo = $this->getEntityManager()->getPDO();
        $sth = $pdo->prepare($query);
        $sth->execute();

        $rows = $sth->fetchAll(PDO::FETCH_ASSOC);
        if ($rows) {
            foreach ($rows as $row) {
                $row['failed_attempts'] = isset($row['failed_attempts']) ? $row['failed_attempts'] : 0;

                $attempts = $row['attempts'] - 1;
                $failedAttempts = $row['failed_attempts'] + 1;

                $update = "
                    UPDATE job
                    SET
                        `status` = '" . CronManager::PENDING ."',
                        attempts = ".$pdo->quote($attempts).",
                        failed_attempts = ".$pdo->quote($failedAttempts)."
                    WHERE
                        id = ".$pdo->quote($row['id'])."
                ";
                $pdo->prepare($update)->execute();
            }
        }
    }
public function updateFailedJobAttempts()
    {
        $query = "
            SELECT * FROM job
            WHERE
                `status` = '" . CronManager::FAILED . "' AND
                deleted = 0 AND
                execute_time <= '".date('Y-m-d H:i:s')."' AND
                attempts > 0
        ";

        $pdo = $this->getEntityManager()->getPDO();
        $sth = $pdo->prepare($query);
        $sth->execute();

        $rows = $sth->fetchAll(PDO::FETCH_ASSOC);
        if ($rows) {
            foreach ($rows as $row) {
                $row['failed_attempts'] = isset($row['failed_attempts']) ? $row['failed_attempts'] : 0;

                $attempts = $row['attempts'] - 1;
                $failedAttempts = $row['failed_attempts'] + 1;

                $update = "
                    UPDATE job
                    SET
                        `status` = '" . CronManager::PENDING ."',
                        attempts = ".$pdo->quote($attempts).",
                        failed_attempts = ".$pdo->quote($failedAttempts)."
                    WHERE
                        id = ".$pdo->quote($row['id'])."
                ";
                $pdo->prepare($update)->execute();
            }
        }
    }
public function updateFailedJobAttempts ( ) { $ query = "
            SELECT * FROM job
            WHERE
                `status` = '" . CronManager :: FAILED . "' AND
                deleted = 0 AND
                execute_time <= '" . date ( 'Y-m-d H:i:s' ) . "' AND
                attempts > 0
        " ; $ pdo = $ this -> getEntityManager ( ) -> getPDO ( ) ; $ sth = $ pdo -> prepare ( $ query ) ; $ sth -> execute ( ) ; $ rows = $ sth -> fetchAll ( PDO :: FETCH_ASSOC ) ; if ( $ rows ) { foreach ( $ rows as $ row ) { $ row [ 'failed_attempts' ] = isset ( $ row [ 'failed_attempts' ] ) ? $ row [ 'failed_attempts' ] : 0 ; $ attempts = $ row [ 'attempts' ] - 1 ; $ failedAttempts = $ row [ 'failed_attempts' ] + 1 ; $ update = "
                    UPDATE job
                    SET
                        `status` = '" . CronManager :: PENDING . "',
                        attempts = " . $ pdo -> quote ( $ attempts ) . ",
                        failed_attempts = " . $ pdo -> quote ( $ failedAttempts ) . "
                    WHERE
                        id = " . $ pdo -> quote ( $ row [ 'id' ] ) . "
                " ; $ pdo -> prepare ( $ update ) -> execute ( ) ; } } }
Mark job attempts

@return void
Mark job attempts