ibexa/cron

为 Ibexa 简单的 cron 扩展包

维护者

详细信息

github.com/ibexa/cron

源代码

问题

安装次数: 293,355

依赖者: 1

建议者: 0

安全性: 0

星标: 2

关注者: 12

分支: 0

开放性问题: 0

类型:ibexa-bundle


README

此包暴露了 cron/cron 包,以便在 Ibexa(或普通 Symfony)中通过简单的命令 ibexa:cron:run 使用。

这不是 cron/cron-bundle 的替代品,而是一个更简单的替代品,它可以在未来更容易地专注于 Ibexa 平台的需求,包括例如支持跨集群安装处理 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: ibexa.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: ibexa.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-2024 Ibexa AS(原名 eZ Systems AS)。保留所有权利。

许可证

此源代码可单独根据以下许可证获得

A - Ibexa 商业使用许可协议(Ibexa BUL),版本 2.4 或更高版本(因为许可条款可能会随时更新)Ibexa BUL 通过拥有有效的 Ibexa DXP(原名 eZ Platform Enterprise)订阅获得,如此处所述。有关 Ibexa BUL 许可证的完整文本,请参阅

并且

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