florianpalme / oxid-cronjobmanager
向OXID后端添加Cronjob管理器。
Requires
- php: >=7.0.0
- peppeocchi/php-cron-scheduler: 2.*
This package is auto-updated.
Last update: 2024-09-07 08:14:57 UTC
README
向OXID后端添加Cronjob管理器。
安装
composer require florianpalme/oxid-cronjobmanager
设置Cronjob
在可以使用OXID Cronjob Manager使用Cronjob之前,必须设置一个正常的Crontab。在这个过程中,需要注意确保每分钟执行一次调用。
Linux Crontab
如果可以处理服务器上的Linux Crontab(crontab -e
),可以插入以下行。
* * * * * php /pfad/zum/oxidshop/bin/cron.php
主机
如果无法通过Linux控制台设置Crontab,请联系你的主机,他们可以帮助你。在这种情况下,必须在OXID根目录下使用php执行bin/cron.php
文件。
用法
在Service -> Cronjob Manager下,你可以找到由模块提供的所有Cronjob。
Cronjob列表
在列表中,你可以找到以下信息
编辑 - "Cronjob Manager"选项卡
点击Cronjob后,可以编辑以下信息
状态
Crontab
描述Cronjob的执行间隔,格式为Linux Crontab格式
编辑 - "日志"选项卡
这里可以找到执行次数、平均执行时间和失败Cronjob数量的简要概述。
在输出的列表中,将显示状态、开始和结束时间、执行时间以及可能的错误消息。
在模块中使用
作为模块开发者,通过Cronjob Manager,您可以节省编写自己的Cronjob函数的时间,例如检查是否可以执行。
覆盖维护
将您的Cronjob作为方法添加到\OxidEsales\Eshop\Application\Model\Maintenance类中。
错误消息
如果Cronjob由于某些原因失败,则可以抛出一个FlorianPalme\OXIDCronjobManager\Core\Exception\Exception实例。这将被捕获并将记录中的消息写入日志。
修改metadata.php
在metadata.php中,将$aModule数组扩展为一个名为cronjobs的数组,如下所示。
$aModule = [ /** Cronjobs */ 'cronjobs' => [ 'moduleid_cronjobid' => [ 'fnc' => 'doMyJob', 'title' => [ 'de' => 'My Job', ], 'crontab' => '* * * * *', ], ], ];
对于cronjobs数组中包含的每个Cronjob,必须指定一个唯一的ID。建议使用MODULID_CRONJOBID。
参数
fnc
在oxMaintenance类中为该Cronjob指定的方法名称。
title
Cronjob的标题,可以是字符串或用于多语言的数组。
crontab
为此Cronjob推荐的Crontab设置。
变更日志
此项目的所有显著更改将在此文件中记录。
格式基于Keep a Changelog,并且此项目遵循语义化版本控制。
2.1.1 - 2018-02-23
修复
- #1修复了敏感操作系统的模板路径问题
2.1.0 - 2018-02-20
新增
- 集成到DebugBar
修复
- 当模块不再存在Cronjob时,管理员界面中的列表不再显示
2.0.0 - 2018-02-05
变更
- 升级到OXID 6