studio / laravel-totem
一个用于通过美丽仪表板管理cron作业的Laravel包
Requires
- php: ^8.1.0
- ext-json: *
- doctrine/dbal: ^3.1
- illuminate/bus: ^9.0|^10.0|^11.0
- illuminate/console: ^9.0|^10.0|^11.0
- illuminate/contracts: ^9.0|^10.0|^11.0
- illuminate/database: ^9.0|^10.0|^11.0
- illuminate/events: ^9.0|^10.0|^11.0
- illuminate/notifications: ^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^9.0|^10.0|^11.0
Suggests
- nexmo/client: Required for sms notifications.
- 11.x-dev
- v11.0.0
- 10.x-dev
- v10.0.2
- v10.0.1
- v10.0.0
- v9.1.1
- v9.1.0
- 9.0.x-dev
- v9.0.0
- v8.4.2
- v8.4.1
- v8.4.0
- v8.3.3
- v8.3.2
- v8.3.1
- v8.3.0
- v8.2.0
- v8.1.4
- v8.1.3
- v8.1.2
- v8.1.1
- 8.0.x-dev
- v8.0.5
- v8.0.4
- v8.0.3
- v8.0.2
- v8.0.1
- v8.0
- 7.0.x-dev
- v7.0.3
- v7.0.2
- v7.0.1
- v7.0.0
- 6.0.x-dev
- v6.0.3
- v6.0.2
- v6.0.1
- v6.0.0
- v5.3.1
- v5.3.0
- v5.2.0
- v5.1.0
- 5.0.x-dev
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- 4.0.x-dev
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.3.1
- v3.3.0
- v3.2.6
- v3.2.5
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.0
- 3.0.x-dev
- v3.0.2
- v3.0.1
- v3.0.0
- v2.4.1
- v2.4.0
- v2.3.2
- v2.3.1
- v2.3
- v2.2.2
- v2.2.1
- v2.2
- v2.1.0
- 2.0.x-dev
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 1.0.x-dev
- v1.0.2
- v1.0.1
- v1.0.0
- v0.8.0
- v0.7.0
- v0.6.0
- v0.4.0
- v0.3.0
- v0.1.0
- dev-hotfix/use-collection-count
- dev-analysis-m4Jlra
This package is auto-updated.
Last update: 2024-08-27 17:11:59 UTC
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
参数设置为一个前缀,这将应用于所有Totems的表及其模型。
更新
请更新到tem到新版本后重新发布tem资产
php artisan totem:assets
配置
定时任务
此包假设您对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 还提供了一个 artisan 命令来查看已安排的任务列表。
php artisan schedule:list
屏幕截图
任务列表
任务详情
编辑任务
用于查看已安排任务的 artisan 命令
更新日志
以下列出的重要版本。请参阅 更新日志 了解项目的完整历史。
鸣谢
可以通过遵循我们的 贡献指南 提交错误报告、功能请求和拉取请求。
贡献与协议
许可
本软件发布于 MIT 许可。
© 2020 Roshan Gautam,保留所有权利。