misuoka / work-loop
循环执行任务的后台服务程序 Background service program that executes tasks cyclically
v0.1.0
2022-11-11 07:39 UTC
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2025-05-11 13:49:56 UTC
README
循环执行任务的后台服务程序
使用方法
使用 composer 进行安装 composer require misuoka/work-loop
。
按如下配置执行脚本,在 workers 数组里配置具体的业务代码,业务类必须实现接口 misuoka\WorkLoop\WorkInterface
。
# 假设文件:index.php require(__DIR__ . '/../vendor/autoload.php'); use misuoka\WorkLoop\WorkGo; $config = [ 'name' => 'XXX服务后台业务程序', // 自定义项目名称 'version' => 'v1.0', // 自定义项目版本 'display_type' => 0, // UI形式。0:默认输出方式;1:重复刷新格式化的UI 'workers' => [ // 'workname' => [ // 'enabled' => true, // 启用任务 // 'logic' => \app\logic\Xxxx::class, // 具体业务类,必须实现接口 misuoka\WorkLoop\WorkInterface // 'sleeptime' => 0.3, // 秒,支持小数。循环执行任务的休眠时间 // 'working_time' => 10, // 工作时长,单位分钟。进程循环执行的时间。时间到了之后,会再次启动进程 // ], ], ]; $wd = new WorkGo($config); $wd->run();
在脚本文件中配置完成后,在 shell 终端中执行如下命令。
# Usage: php script_name.php {start|restart|stop|help} [-d] # -d 表示以守护进程的方式运行脚本 php script_name.php start