• workerman定时任务使用


     

    定时任务在有些场合很实用,像淘宝的自动确认收货就必须放在服务端进行,这时workeran的定时任务就派上用场了,它可以支持毫秒,crontab的粒度是一分钟


    需要注意的是因为定时任务一直在执行,业务逻辑里太耗时的需要使用异步操作,如用AsyncTcpConnection异步创建个tcp连接,把耗时操作放在这个连接里面处理

    可以在Applications/Chat/目录按规范新建个文件如start_timer.php,这样在php start.php start -d时会自动执行

    start_timer.php

    [python] view plain copy
      1. <?php  
      2. use WorkermanWorker;  
      3. use WorkermanLibTimer;  
      4. require_once './Workerman/Autoloader.php';  
      5.   
      6. $task = new Worker();  
      7. // 开启多少个进程运行定时任务,注意多进程并发问题  
      8. $task->count = 1;  
      9. $task->onWorkerStart = function($task)  
      10. {  
      11.     // 每2.5秒执行一次 支持小数,可以精确到0.001,即精确到毫秒级别  
      12.     $time_interval = 2.5;  
      13.     Timer::add($time_interval, function()  
      14.     {  
      15.         echo "task run ";  
      16.     });  
      17. };  
      18.   
      19. // 运行worker  
      20. Worker::runAll();  
  • 相关阅读:
    es-07-head插件-ik分词器插件
    es-01-简介
    es-02-elasticsearch安装及遇到的问题
    es-03-DSL的简单使用
    es-04-mapping和setting的建立
    lucene-01-简介
    Scipy---1.常数和特殊函数
    Pandas---12.数据加载和保存
    Pandas---11.移动窗口函数
    Pandas---10.DataFrame绘图
  • 原文地址:https://www.cnblogs.com/agang-php/p/7905981.html
Copyright © 2020-2023  润新知