vendor/codeages/biz-framework/src/Scheduler/Dao/Impl/JobFiredDaoImpl.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace Codeages\Biz\Framework\Scheduler\Dao\Impl;

use Codeages\Biz\Framework\Dao\GeneralDaoImpl;
use Codeages\Biz\Framework\Scheduler\Dao\JobFiredDao;

class JobFiredDaoImpl extends GeneralDaoImpl implements JobFiredDao
{
    protected $table = 'biz_scheduler_job_fired';

    public function getByStatus($status)
    {
        $sql = "SELECT * FROM {$this->table} 
                  WHERE fired_time <= ? AND status = ? 
                ORDER BY priority DESC , fired_time ASC LIMIT 1";

        return $this->db()->fetchAssoc($sql, array(strtotime('+1 minutes'), $status));
    }

    public function findByJobId($jobId)
    {
        return $this->findByFields(array(
            'job_id' => $jobId,
        ));
    }

    public function findByJobIdAndStatus($jobId, $status)
    {
        return $this->findByFields(array(
            'job_id' => $jobId,
            'status' => $status,
        ));
    }

    public function deleteUnacquiredBeforeCreatedTime($time)
    {
        $sql = "delete FROM {$this->table} where created_time < ? and status != ?";

        return $this->db()->executeUpdate($sql, array($time, 'acquired'));
    }

    public function declares()
    {
        return array(
            'timestamps' => array('created_time', 'updated_time'),
            'orderbys' => array('created_time', 'id'),
            'serializes' => array(
                'job_detail' => 'json',
            ),
            'conditions' => array(
                'job_id = :job_id',
                'status = :status',
                'fired_time < :fired_time_LT',
                'job_name = :job_name',
            ),
        );
    }
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。