使用 Swoole 协程实现的 Laravel 任务调度扩展包:laravel-bjask

截图

eae8557709163b4ade24ceef0a120fbc.png

项目地址

码云:https://gitee.com/zhangsw2613/laravel-bjask

GitHub:https://github.com/zhangsw2613/laravel-bjask

安装

$ composer require zhangsw/laravel-bjask

使用方法

1、修改config/app.php配置文件:

    'providers' => [
        // ...
        Bjask\SchedulerServiceProvider::class,
    ]
    'aliases' => [
        // ...
        'Scheduler' => Bjask\Facades\Scheduler::class,
    ]

2、创建目录 storage\framework\pid,并修改目录权限为可读写

3、创建 app\Tasks 目录(记得修改目录所属用户),并在目录下创建示例文件 TaskMessageTask.php,编写其代码如下:

namespace App\Tasks;

use Bjask\Task;
use Illuminate\Support\Facades\Log;
use Swoole\Coroutine;

class TestMessageTask extends Task
{
    public function prepare()
    {
        $this->everyMonth(1);
        $this->everyWeek(1);
        $this->everyDay(2);
        $this->everyHour(2);
        $this->everyMinute(1);
        $this->everySecond(3);
    }

    public function run(){
        Log::info(date('Y-m-d H:i:s',time()).'测试发送消息');
        Coroutine::sleep(3);
    }
}

4、执行命令

  • 启动:php artisan task:manage start
  • 关闭:php artisan task:manage stop
  • 重启:php artisan task:manage restart
  • 查看:php artisan task:manage status

说明

可配置调度如下:

  • everyMonth 每隔几月
  • everyWeek 每隔几周
  • everyDay 每隔几天
  • everyHour 每隔几小时
  • everyMinute 每隔几分钟
  • everySecond 每隔几秒钟

北海有鱼 has written 1 articles

该作者很低调,还没有自我介绍~

积分:87 等级:P2 职业:水道工 城市:福州

0 条回复

登录后才能进行评论,立即登录?