定时任务

首先服务器安装crontab 

yum install -y vixie-cron

yum install crontabs


在EasySwoole全局的mainServerCreate事件中进行进程注册


需要定义一个定时任务类继承EasySwoole\EasySwoole\Crontab\AbstractCronTask。


/**

* Created by PhpStorm.

* User: zdh

* Date: 2021/10/26

* Time: 5:39 PM

*/

namespace App\Crontab;

use EasySwoole\EasySwoole\Crontab\AbstractCronTask;

use EasySwoole\EasySwoole\Task\TaskManager;

class CustomCrontab  extends AbstractCronTask

{

    public static function getRule(): string

{

        // 定义执行规则 根据Crontab来定义

        return '*/1 * * * *';

    }

    public static function getTaskName(): string

{

        // 定时任务的名称

        return 'CustomCrontab';

    }

    public function run(int $taskId, int $workerIndex)

{

        // 定时任务的执行逻辑

        // 开发者可投递给task异步处理

        TaskManager::getInstance()->async(function (){

            var_dump("12313123213");

        });

    }

    public function onException(\Throwable $throwable, int $taskId, int $workerIndex)

{

        // 捕获run方法内所抛出的异常

    }

}

Crontab管理

EasySwoole内置对于Crontab的命令行操作,方便开发者友好的去管理Crontab。

可执行php easyswoole crontab -h来查看具体操作。

查看所有注册的Crontab

php easyswoole crontab show

停止指定的Crontab

php easyswoole crontab stop --name=TASK_NAME

恢复指定的Crontab

php easyswoole crontab resume --name=TASK_NAME

立即跑一次指定的Crontab

php easyswoole crontab run --name=TASK_NAME

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容