workman定时任务队列雏形

    最近一段时间在折腾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

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的进程命令,或者重启

下面就是我的开启命令 

workman定时任务队列雏形_第1张图片

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

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

你可能感兴趣的:(php技术,linux,TP5.0,workman,crontab,thinkphp5,定时任务,任务队列列表)