使用 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 每隔几秒钟

点赞 取消点赞 收藏 取消收藏

<< 上一篇: LaravelS 站在巨人的肩膀上,通过Swoole加速Laravel/Lumen

>> 下一篇: SMProxy,让你的数据库操作快三倍!