2011-01-06 24 views
0

嗨,我做了一个Joomla插件,它获取一些外部内容并将其保存在HTML文件中。想知道是否可以定期自动执行这个插件。Joomla是否可以定期自动执行一个插件

如果是的话会是什么过程?

或者也可以将此脚本放置在某个文件中,并以固定间隔自动执行。

请帮忙。

回答

4

是的,你会想使用cron做一个重复的计划任务,如这样。看到的cron this primer作为一个例子,这里是一个脚本我运行,每30分钟更新谷歌的SafeSites信息我的cron文件...

# m h dom mon dow command 
30 * * * * /usr/bin/php /OBFUSCATED/PATH/TO/MY/SCRIPT/listupdater.php 

设置此,你需要SSH访问你的服务器和在命令行中,你会的答复键入

crontab -e 

你可能想就如何在vi风格编辑器编辑阅读起来......

+0

嘿感谢这正是我一直在寻找。这解决了我的问题。再次感谢很多。 – 2011-01-06 21:21:17

0

Joomla是PHP,PHP不会定期执行。您需要从外部进程触发它。幸运的是,所有现代操作系统都为您提供了方法。它可以是一个cron工作(对于类Unix操作系统)或一个计划任务(Windows)。

你最想要的是添加一个执行页面的命令行PHP脚本(php <name of script>)。 Joomla非常强烈地依赖于GET参数来完成它的路由...所以你可能要考虑的不是将它作为Joomla插件运行,而是作为任意代码坐在.php文件中,同时仍然使用Joomla框架。或者写一个Joomla的index.php替代方案,它用$ _GET填充需要路由到一个页面的值,插件可以完成它的工作。


或者,你可以创建一个加载在每次请求,检查(通过文件或数据库字段的方式),它最近是否运行,并立即返回一个插件,如果它没有做任何事情。当然这不太准确:它依赖于稳定的浏览量。并导致访问者延迟,如果他们碰巧是一个请求页面,触发这样的维护工作。

相关问题