我遇到一个问题,如何在一段时间后使用cron运行组件控制器中定义的任务。如果有人有任何建议,请帮忙。
与通过如下所示的表单操作网址运行控制器任务相同。
index.php?option=com_mycomponent&task=mycontroller.task_name
通常,您可以像上面那样设置表单的操作网址,也可以options,task,controller
单独设置隐藏字段。
在这种情况下,cron无法执行的操作是管理员控制器任务,因为它需要用户登录。因此,在这种情况下,您必须在可以通过url访问的前端控制器中编写这些功能。
一个安全问题是您应该为Cron Jobs提供一个密钥,例如&key=someencrypetd_value
带有URL的简单参数,然后在启动控制器任务功能之前在控制器任务内部进行解密和比较。这将有助于您防止有人通过直接网址执行Cron。
要设置Cron Job,只需登录Cpanel-> Cron Jobs->设置您的网址即可。
这里的URL应该像 http://www.yourdomain.com/index.php?option=com_mycomponent&task=mycontroller.task_name&key=yoursecretkey
命令示例如下所示。
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句