我正在尝试为 Prestashop 中的模块创建简单的新 cron 作业。在我看到的任何地方,我都必须在管理面板中定义我的 cron。但这似乎很愚蠢,因为我不会写信给每个下载我的模块的人来手动激活这个 cron。 我为 wordpress 和 magento 编写了 cron 作业,没有任何问题,但在 Prestashop 中我找不到任何描述此过程的教程。可以自动编写并激活cron吗?
谢谢
最佳答案
以下内容适用于 Prestashop 的“ native ”cronjob 处理程序(版本 1.3.2)
您可以通过确保满足以下条件来使模块自动安装 cronjob:
- 注册到钩子(Hook)
actionCronJob
- 提供公共(public)方法
getCronFrequency()
- 提供公共(public)方法
actionCronJob()
getCronFrequency
应返回一个如下所示的数组:
array('hour'=>1, 'day'=>-1, 'month'=>-1, 'day_of_week'=>1);
-1
值相当于 Unix 风格的 cronjobs 中的 *
。
但请注意,“基本”模式 cron 作业是由 Prestashop 本身托管的 Web 服务触发的。这意味着您的网站必须可公开访问,因此您无法在典型的本地主机开发环境中轻松测试它。
高级 cronjob 未在 Prestashop 的网络服务中注册,因此您可以通过自己的 crontab 管理器自行触发它们。
关于cron - 如何在 Prestashop 中创建没有管理面板的 cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29890531/