cron - 如何在 Prestashop 中创建没有管理面板的 cron 作业

标签 cron prestashop

我正在尝试为 Prestashop 中的模块创建简单的新 cron 作业。在我看到的任何地方,我都必须在管理面板中定义我的 cron。但这似乎很愚蠢,因为我不会写信给每个下载我的模块的人来手动激活这个 cron。 我为 wordpress 和 magento 编写了 cron 作业,没有任何问题,但在 Prestashop 中我找不到任何描述此过程的教程。可以自动编写并激活cron吗?

谢谢

最佳答案

以下内容适用于 Prestashop 的“ native ”cronjob 处理程序(版本 1.3.2)

您可以通过确保满足以下条件来使模块自动安装 cronjob:

  1. 注册到钩子(Hook)actionCronJob
  2. 提供公共(public)方法getCronFrequency()
  3. 提供公共(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/

相关文章:

node.js - Sailsjs req.setLocale 外部 Controller

php - 数据库备份的 Cronjob 语法错误

linux - Bash - 检查进程是否正在运行,否则启动它并使用 "switch"大小写发送邮件

cron - Quartz Cron 表达式 :Run every 15 days ie twice in a month

javascript - 将新变量添加到 Prestashop Cart 对象

mysql - Mysql 中的 NOT IN 不返回所需的值 - 包含子查询

bash - 多个 cronjob 电子邮件

Prestashop 慢后台(initContent : 12000ms)

javascript - Prestashop 1.7 入门主题,theme.yml 中的资源不起作用

php - 我在 Prestashop 中看不到我的测试模块页面