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

如何在Prestashop中创建没有管理面板的cron作业,cron,prestashop,Cron,Prestashop,我正在尝试在Prestashop中为我的模块创建简单的新cron作业。无论我看到什么地方,我都必须在管理面板中定义我的cron。但这似乎很愚蠢,因为我不会写信给每个下载我的模块的人来手动激活这个cron。 我为wordpress和magento编写了cron作业,没有任何问题,但在Prestashop中,我找不到任何教程来描述这个过程。是否可以自动写入和激活cron 感谢以下内容适用于Prestashop的“本机”cronjob处理程序(版本1.3.2) 通过确保以下各项,您可以使模块自动安装c

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


感谢

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

通过确保以下各项,您可以使模块自动安装cronjob:

  • 注册到hook
    actionCronJob
  • 提供一个公共方法
    getCronFrequency()
  • 提供一个公共方法
    actionCronJob()
  • getCronFrequency
    应返回如下所示的数组:

    array('hour'=>1, 'day'=>-1, 'month'=>-1, 'day_of_week'=>1);
    
    -1
    值与Unix风格的cronjobs中的
    *
    值等效

    不过要注意,“基本”模式的cron作业是由Prestashop自己托管的web服务触发的。这意味着您的网站必须可以公开访问,因此您无法在典型的localhost开发环境中轻松测试


    高级cronjobs未在Prestashop的Web服务中注册,因此您可以通过自己的crontab管理器自己触发它们。

    该模块应该有两个公共方法:getCronFrequency和actionCronJob。另外,请注意,在频率上,对于“any”,您必须返回-1,而不是类似于Unix的“*”。例如,每周将是
    返回数组('hour'=>1,'day'=>-1,'month'=>-1,'day'=>1)