bentools / crontab-bundle
根据应用目录生成 crontab。
0.2.1
2020-12-04 15:50 UTC
Requires
- php: >=7.1
- symfony/console: ^4.0|^5.0
- symfony/framework-bundle: ^4.0|^5.0
- symfony/process: ^4.0|^5.0
- symfony/yaml: ^4.0|^5.0
Requires (Dev)
- pestphp/pest: ^0.3.14
- symfony/http-kernel: ^4.0|^5.0
- symfony/var-dumper: ^4.0|^5.0
- thecodingmachine/safe: ^1.3
This package is auto-updated.
Last update: 2024-09-04 23:59:56 UTC
README
基于应用程序路径生成 crontab 的简单方法。
与类似的 Symfony 扩展包不同,这个包实际上替换了用户的 crontab,而不是提供一个工作进程。
⚠️ 如果您的用户 crontab 可能被其他进程修改,请不要使用此功能!
安装
此包与 Symfony 4/5+ 兼容。使用 0.1.*
标签以实现与早期版本的兼容性。
composer require bentools/crontab-bundle 0.2.*
使用 Symfony Flex,您已经完成了!
使用方法
在 config/crontab.dist
中创建一个示例 crontab 文件。
# config/crontab.dist 0 0 * * * php {%kernel.project_dir%}/bin/console your:favorite:command
如您所见,{%kernel.project_dir%}
是一个容器参数。它将在运行时替换为其当前值。您可以使用任何用大括号括起来的容器参数。
预览
这将为您提供 crontab 的预览。
php bin/console crontab:update --dry-run --dump
应用
要应用您的 crontab,请运行以下命令:
php bin/console crontab:update
现在,如果在您的 shell 中执行 crontab -l
,您应该会看到类似以下内容:
0 0 * * * php /home/me/my-project/bin/console your:favorite:command
常见问题解答
我是否可以使用任何容器参数?
是的。
我不想将分发文件放在 config/crontab.dist
。我可以更改它吗?
当然:创建一个 config/packages/bentools_crontab.yaml
文件,并更改 dist_file
参数。
bentools_crontab: dist_file: '%env(CRONTAB_SAMPLE_FILE)%' # That's an example.
命令选项有哪些?
--no-interaction # Skip confirmation question --dry-run # Do not update crontab for real --output-file=/path/to/generated_crontab # Change output file (which is a tmp file by default) --dump # Show generated crontab content
我已经为运行我的应用程序的用户创建了一个 crontab。它是否会替换它?
是的。只有当您认为它是要成为唯一 crontab 条目点时,才使用此包。
测试
./vendor/bin/pest
许可证
MIT