CronJob定时任务

异步定时器介绍(支持秒级定时);依赖:Swoole1.7.14以上版本
  • 配置文件config/cron.php
    return [
        //是否为守护进程
        'daemon' => true,

        'cache_dir' => 'runtime/cron',

        'class_cache' => 'runtime/cron/bootstrap.class.cache',

        //log路径
        'log_dir' => 'runtime/cron',

        //定时器轮询周期,精确到毫秒
        'tick_time' => 1000,

        'job' => [

            [
                'name' => 'TestLog',//任务名
                'time' => '*/1 * * * *',//定时规则 分 小时 天 周 月
                'command' => 'src\Web\Cron\Test',//执行的类库
            ],

            [
                'name' => 'testCache',
                'time' => '24 */2 * * *',//定时规则 分 小时 天 周 月
                'command' => 'src\Web\Cron\TestCache',
            ],

            [
                'name' => 'testSql',
                'time' => '*/2 * * * *',//定时规则 分 小时 天 周 月
                'command' => 'src\Web\Cron\TestSql',
            ],

        ],
    ];
  • 执行的类库示例
    namespace src\Web\Cron;

    use Group\Cron\CronJob;

    //继承CronJob父类
    class Test extends CronJob
    {   
        //实现handle方法即可  框架内部所有服务都可正常使用
        public function handle()
        {
            \Log::info('nihao', ['time' => date('Y-m-d H:i:s', time())], 'cron.job');
        }

    }
  • 执行命令
app/cron start|restart|stop|status|exec (job name)|rejob (job name)|server
  • 图形界面管理
app/cron server &  (访问 127.0.0.1:10008 即可)

results matching ""

    No results matching ""