基于swoole的定時器程序,支持秒級處理
Swoole-Crontab(基于Swoole擴展)
1.概述
- 基于swoole的定時器程序,支持秒級處理.
- 異步多進程處理。
- 完全兼容crontab語法,且支持秒的配置
- 請使用swoole擴展1.7.9以上版本.Swoole </ul>
2.配置的支持
具體配置文件請看 src/config/dev/crontab.php
介紹一下時間配置
0 1 2 3 4 5 | | | | | | | | | | | +------ day of week (0 - 6) (Sunday=0) | | | | +------ month (1 - 12) | | | +-------- day of month (1 - 31) | | +---------- hour (0 - 23) | +------------ min (0 - 59) +-------------- sec (0-59)[可省略,如果沒有0位,則最小時間粒度是分鐘]
3.幫助信息
* Usage: /path/to/php main.php [options] -- [args...] * -h [--help] 顯示幫助信息 * -p [--pid] 指定pid文件位置(默認pid文件保存在當前目錄) * -s start 啟動進程 * -s stop 停止進程 * -s restart 重啟進程 * -l [--log] log文件夾的位置 * -c [--config] config文件的位置(可以是文件,也可以是文件夾. 如果是文件,則載入指定文件.如果是文件夾,則載入文件夾 下的所有文件.) * -d [--daemon] 是否后臺運行 * -r [--reload] 重新載入配置文件 * -m [--monitor] 監控進程是否在運行,如果在運行則不管,未運行則啟動進程
4.例子
你可以在配置文件中加上以下配置:
return [ [ "id" => "taskid1", "name" => "php -i", "time" => '* * * * * *', "task" => [ "parse" => "Cmd", "cmd" => "php -i", "output" => "/tmp/test.log" ] ] ]
然后去到src目錄下,執行
/path/to/php main.php -s start
執行完成以后你就可以在/tmp/test.log看到輸出了,每秒輸出一次
如果你需要寫自己的代碼邏輯,你也可以到plugin目錄下,實現一個PluginBase.class.php接口的類.
在其中寫自己的邏輯代碼。
本文由用戶 fd5f 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!