荣茂/laravel-totem

一个用于通过美观的仪表板管理cron作业的Laravel包


README

Laravel Totem

Build Status License

简介

Join the chat at https://gitter.im/laravel-totem/Lobby

从美观的仪表板管理您的Laravel Schedule。按您的喜好安排Laravel Console Commands。无需再次回到代码中即可动态启用/禁用计划任务。

文档

兼容性矩阵

安装

Totem需要Laravel v5.4及以上版本,请参考上表以了解兼容性。使用composer将totem安装到您的Laravel项目中

composer require studio/laravel-totem

Laravel Totem支持Laravel v5.5+的自动包发现,因此Laravel v5.5+中不需要进行服务提供者注册

TotemServiceProvider添加到Laravel v5.4应用程序的config/app.php配置文件中的providers数组中

Studio\Totem\Providers\TotemServiceProvider::class,

安装并注册Laravel Totem后,

  • 运行迁移
php artisan migrate
  • 使用以下命令将Totem资源发布到您的公共文件夹
php artisan totem:assets
表前缀

Totems的表使用通用的名称,可能会与项目中现有的表冲突。为了减轻这种情况,可以通过设置.env参数TOTEM_TABLE_PREFIX来为所有Totems表及其模型应用前缀。

更新

请在更新totem到新版本后重新发布totem资源

php artisan totem:assets

配置

cron作业

此包假定您对Laravel的任务调度Laravel控制台命令有很好的理解。在所有这些工作之前,请确保您有一个如下运行的cron

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
Web仪表板

Laravel Totem的仪表板灵感来源于Laravel Horizon。就像Horizon一样,您可以配置Totem仪表板的身份验证。将以下内容添加到您的AppServiceProvider的boot方法中或您认为合适的地方。

use Studio\Totem\Totem;

Totem::auth(function($request) {
    // return true / false . For e.g.
    return Auth::check();
});

默认情况下,Totem的仪表板仅适用于本地环境。要查看仪表板,请将浏览器指向您的应用程序的/totem。例如,laravel.dev/totem。

命令下拉过滤器

默认情况下,Totem在创建/编辑任务时输出所有Artisan命令。为了使此下拉菜单更简洁,可以在totem.php配置文件中设置一个过滤配置功能。

示例过滤器

'artisan' => [
    'command_filter' => [
        'stats:*',
        'email:daily-reports'
    ],
],

此功能使用fnmatch语法来过滤显示的命令。stats:*将匹配以stats:开头的所有Artisan命令,而email:daily-reports将仅匹配名为email:daily-reports的命令。

此过滤器可以作为白名单或黑名单使用。默认情况下,它作为白名单,但可以设置一个选项标志,使其作为黑名单。

'artisan' => [
    'command_filter' => [
        'stats:*',
        'email:daily-reports'
    ],
    'whitelist' => true,
],

如果白名单的值为false,则过滤器作为黑名单。

'whitelist' => false

中间件

Laravel Totem使用默认的web和api中间件,但如果需要自定义,可以通过设置适当的.env值来更改中间件。这些值可以在config/totem.php中找到。

Laravel Totem中提供命令

所有Artisan命令都可以安排。如果您想将命令从Totem中隐藏,请确保您的命令中设置了hidden属性为true。例如。

protected $hidden = true;

从L5.5开始,所有命令都自动注册,所以这不会成问题。

命令参数

如果您的命令需要参数或选项,请使用可选的命令参数字段。您可以通过以下方式将参数提供给您命令,作为一个字符串

name=john.doe --greetings='Welcome to the new world'

在上面的示例中,name 是一个参数,而 greetings 是一个可选参数

控制台命令

除了仪表板外,Totem 还提供了一项工匠命令来查看已计划的任务列表。

php artisan schedule:list

屏幕截图

任务列表

Task List

任务详情

Task List

编辑任务

Task List

查看计划任务的工匠命令

Task List

变更日志

以下列出重要版本。有关项目的完整历史记录,请参阅变更日志

鸣谢

可以通过遵循我们的贡献指南提交错误报告、功能请求和拉取请求。

贡献和协议

许可证

本软件在MIT许可证下发布。

© 2019 Roshan Gautam,版权所有。