如何用cron运行Joomla控制器任务?

时间:2014-01-30 09:14:50

标签: php joomla cron joomla2.5

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

1 个答案:

答案 0 :(得分:2)

与通过下面的表单操作URL运行控制器任务相同。

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

通常,您可以分别为options,task,controller设置上述表单的操作网址或隐藏字段。

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

一个安全问题是你应该为你的Cron Jobs添加一个密钥,比如简单的param &key=someencrypetd_value和url,然后在启动控制器任务功能之前解密并比较你的控制器任务。这将帮助您阻止某人通过直接网址执行您的Cron。

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

此处网址应该像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来执行此操作