meisendev/laravel-daemon

作为守护命令列表的哨兵运行

v1.0.0 2022-03-15 05:33 UTC

This package is auto-updated.

Last update: 2024-09-15 10:53:32 UTC


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 运行上面的命令!