ezsystems/ezplatform-cron

为eZ Platform提供的简单cron包

安装次数: 646,663

依赖项: 10

建议者: 0

安全性: 0

星标: 34

关注者: 20

分支: 4

类型:ezplatform-bundle


README

此包将cron/cron包暴露出来,以便在eZ Platform(或简单的Symfony)中使用,通过简单的命令ezplatform:cron:run

这并不是cron/cron-bundle的替代品,而是一个更简单的替代品,它更容易扩展到专注于eZ Platform的需求,例如,支持处理集群安装中的cron作业(例如,将应在所有节点上运行的作业与一次只应在单个节点上运行的作业分开,并带有相应的锁系统)。

设置系统cron

选择您的系统cron / 调度并设置ezplatform:cron:run命令每分钟运行一次,并可选地指定类别(默认:default

Linux crontab(crontab -e)的示例

* * * * * /path/to/php app/console ezplatform:cron:run [ --category=default] >/dev/null 2>&1

设置自己的cron命令

设置自己的cron作业就像对现有的Symfony命令进行标记一样简单。

此标记采用以下参数

  • name: ezplatform.cron.job
  • schedule: 接受cron/cron支持的所有格式,这模仿了linux crontab格式。例如:* * * * *
  • category: (可选,默认:default)允许您将应运行在不同逻辑下的cron作业分开,例如不常运行的作业(注意:这意味着最终用户需要在他的crontab中设置多个条目以运行所有类别!)
  • options: (可选,默认:'')以字符串格式接受要添加到命令中的自定义选项。(例如,运行清理版本命令的('--keep=0 --status=draft')

示例

    date_based_published.cron.publish_scheduled:
        class: EzSystems\DateBasedPublisherBundle\Command\PublishScheduledCommand
        tags:
            - { name: console.command }
            - { name: ezplatform.cron.job, schedule: '* * * * *' }

记录运行命令

如果您想记录由运行命令处理的命令的输出,您必须将monolog通道cronjob添加到您的配置中。

示例

    monolog:
        channels: [...,'cronjob']
        handlers:
            cronjob:
                bubble: false
                level: info
                type: stream
                path: '%kernel.logs_dir%/cronjob.log'
                channels: [cronjob]

版权

版权(C)1999-2021 Ibexa AS(原名eZ Systems AS)。保留所有权利。

许可证

此源代码在以下许可证下可用

A - Ibexa商业使用许可协议(Ibexa BUL),版本2.4或更高版本(因为许可证条款可能会不时更新)Ibexa BUL是通过拥有有效的Ibexa DXP(原名eZ Platform Enterprise)订阅获得的,如以下链接中所述:https://www.ibexa.co/product有关完整的Ibexa BUL许可文本,请参阅

以及

B - GNU通用公共许可证,版本2授予一个完全免费的开放源代码许可证,绝对没有任何保证。有关完整的GPL许可证文本,请参阅