nrdq / laravel-totem
一个用于通过美丽仪表板管理cron作业的Laravel包
Requires
- php: ^8.0.0|^8.1.0
- ext-json: *
- doctrine/dbal: ^3.1
- illuminate/bus: ^8.11|^9.0|^10.0
- illuminate/console: ^8.11|^9.0|^10.0
- illuminate/contracts: ^8.11|^9.0|^10.0
- illuminate/database: ^8.11|^9.0|^10.0
- illuminate/events: ^8.11|^9.0|^10.0
- illuminate/notifications: ^8.11|^9.0|^10.0
- laravelcollective/html: ^6.0
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/database: ^6.0|^7.0|^8.0
- orchestra/testbench: ^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.0
Suggests
- nexmo/client: Required for sms notifications.
README
介绍
从漂亮的仪表板管理您的 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 来为 Totem 的所有表及其模型应用前缀。
更新
请更新到tem到新版本后重新发布tem资产
php artisan totem:assets
配置
定时任务
此包假设您对 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 命令都可以计划。如果您想隐藏一个命令,请确保在您的命令中将 hidden 属性设置为 true。例如。
protected $hidden = true;
从L5.5版本开始,所有命令都是自动注册的,所以这不会是问题。
命令参数
如果您的命令需要参数或选项,请使用可选命令参数字段。您可以通过以下方式将参数作为字符串提供给您的命令
name=john.doe --greetings='Welcome to the new world'
在上面的示例中,name 是参数,而 greetings 是选项
控制台命令
除了仪表板之外,Totem 还提供了一个 artisan 命令来查看计划任务列表。
php artisan schedule:list
截图
任务列表
任务详情
编辑任务
查看计划任务的 artisan 命令
更新日志
以下列出了重要版本。有关项目的完整历史记录,请参阅更新日志。
致谢
可以通过遵循我们的贡献指南提交错误报告、功能请求和拉取请求。
贡献 & 协议
许可协议
本软件在MIT 许可证下发布。
© 2020 Roshan Gautam,版权所有。




