【问题标题】:How to run Joomla controller task with cron?如何使用 cron 运行 Joomla 控制器任务?
【发布时间】:2014-01-30 09:14:49
【问题描述】:

我遇到一个问题,即如何在某个时间间隔后使用 cron 运行组件控制器中定义的任务。如果有人对如何做到这一点有任何建议,请提供帮助。

【问题讨论】:

    标签: php joomla cron joomla2.5


    【解决方案1】:

    它与通过如下表单操作 url 运行控制器任务相同。

    index.php?option=com_mycomponent&task=mycontroller.task_name
    

    通常您可以像上面一样设置表单的操作网址或单独为options,task,controller设置隐藏字段。

    在这种情况下你不能用 cron 做的事情是管理员控制器任务, 因为它需要用户登录。因此,在这种情况下,您必须在可以通过 url 访问的前端控制器中编写这些函数。

    一个安全问题是您应该为您的 Cron 作业添加一个密钥,例如带有 url 的简单参数 &key=someencrypetd_value,然后在启动控制器任务功能之前在您的控制器任务中解密和比较。这将帮助您防止有人通过直接 url 执行您的 Cron。

    要设置 Cron Jobs,只需登录 Cpanel->Cron Jobs->设置您的 url。

    这里的网址应该是完整的,比如http://www.yourdomain.com/index.php?option=com_mycomponent&task=mycontroller.task_name&key=yoursecretkey

    更多关于设置Cron with Cpanel

    示例命令如下所示。

    wget -O /dev/null "http://www.yourdomain.com/index.php?option=com_users&view=registration&task=registration.UpdateAllShoppers&key=gdyr73501250"
    

    您还可以设置像Minute -0 , Hours - 0 , Day - *, Month -* ,Weekday -* 这样的时间,以便在12:00AM 全天执行此操作

    【讨论】:

    • 它是否适用于linux服务器,因为我可以看到有定义命令的字段,那么我该如何执行呢?
    • 是的,它适用于 Linux 服务器,您只需在 Cpanel 上设置 Cron 并使用您的设置电子邮件选项,并设置 Cron 执行报告的时间段将发送到给定的电子邮件 ID。
    • 所以这意味着我可以直接把这个url放到命令部分并设置进一步的推荐设置。
    • 它的工作..感谢您的时间和良好的解决方案..再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2018-11-09
    • 2014-12-21
    • 1970-01-01
    • 2013-03-03
    • 2023-03-03
    • 2018-12-15
    • 2021-09-01
    • 2016-11-03
    相关资源
    最近更新 更多