2011-01-06 48 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填充需要路由到一個頁面的值,插件可以完成它的工作。


或者,你可以創建一個加載在每次請求,檢查(通過文件或數據庫字段的方式),它最近是否運行,並立即返回一個插件,如果它沒有做任何事情。當然這不太準確:它依賴於穩定的瀏覽量。並導致訪問者延遲,如果他們碰巧是一個請求頁面,觸發這樣的維護工作。

相關問題