workman定时任务队列雏形

8 篇文章 0 订阅
4 篇文章 0 订阅

    最近一段时间在折腾workman,配置以及相关的grpc,rgpc等协议,看的现在还是云里雾里,只觉得还不错,优化的速度会更加的上升。

   这篇文章主要不是分享协议等内容,而是花了些时间去配置的workman定时任务队列,在之前同时的一个建议,说是能不能把crontab的任务队列能够像用户列表的形式显示出来,当时受到技术的瓶颈,没有办法,后面在查阅相关的文章的时候,发现workman技术文档中有个crontab的任务队列,看一些举例,原来是可以的,那么我最近就在折腾这么一块,

   作用,运用场景:

        假设你有一千个用户或者一千个订单需要售后的自动告诉用户,你的订单已经到货了,你还没验收,那顾客忘了这件事怎么办呢?一千个/一万个订单,不可能一个个电话去打吧?所以就可以定时任务

  区别:定时任务可以设置linux的crontab,可以不选择workman+crontab,

  愿景:每个功能,都有一个愿景,而我之所以做这个操作的原因是想做好配置,相当于每个时间段做什么事情,new 新的crontab 的任务,而定时任务自动的去操作。

当然上述是我做这个的初衷和同事偶然间的一个需求

 具体操作:

我是按照webman的文档链接进行操作,

   但并不是全部都用,只是模仿,因为我用的是nignx服务器+thinkphp5.1框架,

  composer安装

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer require workerman/crontab

 完成之后你的配置composer.json文件会多出

    "require": {
        "workerman/crontab": "^1.0"
    },

👆

那继续的是有个进程任务开启,

在根目录下面可以建立crontab.php

<?php

    use Workerman\Worker;
    use Workerman\Crontab\Crontab; //引入定时任务
    require_once __DIR__ . '/vendor/autoload.php';
    $worker = new Worker();
    date_default_timezone_set('PRC');

    $worker->onWorkerStart = function () {
        // Execute the function in the first second of every minute. 新的一个任务
       new Crontab('1 * * * * *', function(){
            //处理的业务逻辑

        });
        $crontab->destroy();
    };


    Worker::runAll();

 最后如果需要修改,最好的是两个同时关闭,第一个关闭命令 php crontab.php stop,然后是workman的进程命令,或者重启

下面就是我的开启命令👇 

那最后,我只是做了一个模型,到时候需要进行foreach循环还在研究操作。

谢谢,希望对看到这篇文章的朋友有帮助

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值