src/Biz/Crontab/Event/CrontabSubscriber.php

(开头部分) 1KB

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

<?php

namespace  Biz\Crontab\Event;

use Biz\Crontab\Service\CrontabService;
use Codeages\PluginBundle\Event\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Codeages\Biz\Framework\Event\Event;

class CrontabSubscriber extends EventSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return array(
            'scheduler.job.created' => 'onSchedulerJobCreated',
            'scheduler.job.executing' => 'onSchedulerJobExecuting',
        );
    }

    public function onSchedulerJobCreated(Event $event)
    {
        $job = $event->getSubject();
        if (!empty($job['next_fire_time'])) {
            $this->getCrontabService()->setNextExcutedTime($job['next_fire_time']);
        }
    }

    public function onSchedulerJobExecuting(Event $event)
    {
        $jobFired = $event->getSubject();
        $job = $jobFired['job_detail'];
        if (!empty($job['next_fire_time'])) {
            $this->getCrontabService()->setNextExcutedTime($job['next_fire_time']);
        }
    }

    /**
     * @return CrontabService
     */
    protected function getCrontabService()
    {
        return $this->getBiz()->service('Crontab:CrontabService');
    }
}

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

AI 解读 AI

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

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