meisendev / laravel-daemon
作为守护命令列表的哨兵运行
v1.0.0
2022-03-15 05:33 UTC
Requires
- php: >=5.5
- ext-pcntl: *
- laravel/framework: ^5.1 || ^6.0 || ^7.0 || ^8.0
README
作为守护命令列表的哨兵运行
实际上,一个项目可以有许多需要在预定的计划中执行的命令。一些命令需要在给定的时间间隔内执行,一些需要并行运行多个实例,一些需要自动发送执行失败的警报,等等。这个库提供了一个非常实用的功能,称为守护哨兵,专门用来解决这个问题。
这个库基于 oasis/slimapp 并为 Laravel 框架定制。
快速开始
在你的 Laravel 项目中
composer require meisendev/laravel-daemon
像这样将哨兵命令添加到 App\Console\Kernel
class Kernel extends ConsoleKernel { /** * The Artisan commands provided by your application. * * @var array */ protected $commands = [ TestDaemon1::class, \Meisendev\LaravelDaemon\DaemonSentinelCommand::class, ]; }
将配置文件(例如 meisendev.php
)添加到配置文件夹。
meisendev.php
的设置如下
<?php return [ 'test:daemon:1' => [ 'name' => 'test:daemon:1',//regular Artisan command signature, note: the name without args 'once' => false,//run only once? if not, command will restart upon previous execution ends 'parallel' => 5,//how many parallel 'args' => [//regular Artisan command args like: 'test:daemon:1 {arg1} {arg2}' 'arg1' => 'test1', 'arg2' => 'test11' ], 'interval' => 3,//minimum number of seconds between last end and next start 'alert' => true ], 'test:daemon:2' => [ 'name' => 'test:daemon:2', 'once' => true, 'parallel' => 8, 'args' => [ 'arg1' => 'test2' ], 'frequency' => '3',//minimum seconds between two start 'alert' => true ] ];
像这样运行哨兵命令
php artisan sentinel:run meisendev
meisendev
是配置文件名
注意:您最好使用 screen 运行上面的命令!