2013-10-22 61 views
0

我的谷歌網站地圖最初設置爲每天自動生成,但它造成了相當的服務器負載,所以我改變了Magento管理員的設置(系統>配置>谷歌網站地圖>生成設置(每週)爲它每週運行一次。站點地圖仍然會產生每天的基礎上。有什麼我失蹤或需要改變嗎?你配置Magento和谷歌網站地圖自動生成每週而不是每天

回答

0

1.配置範圍

檢查站點地圖生成頻率在正確的作用域(默認,網站或店面)和其他配置作用域沒有其他值。

2克龍計劃設置

也許不太可能,但可能仍有可能安排一些後臺任務。這個設置可以在Admin > System > Configuration > System > Cron找到。儘管你必須設置這些值非常高。我相信默認值(或至少是理智的)值是15/20/15/10/60/600.

3.緩存? /錯誤

與Magento一樣,另一個問題可能是緩存,清除緩存(聽起來不太可能)。

我不知道任何與這個系統有關的問題,也不知道你可以做什麼來解決這個問題。

4.調試

頻率選項取決於後端模型來實現的_afterSave()方法來處理的選項。它所做的是計算出選定的頻率/次數,並且它會生成一個可用於cron配置的字符串。然後它保存在core_config_data

要調試aftersave功能(檢查爲什麼它也許不是節省correcty),你將需要有下面的類: Mage_Adminhtml_Model_System_Config_Backend_Sitemap_Cron

要檢查是否值正確保存在您需要搜索數據庫對於以下路徑: crontab/jobs/sitemap_generate/schedule/cron_expr

如果您直接編輯數據庫,它將在下次保存站點地圖生成設置時被覆蓋。

其他

下一步,我可以推薦這個插件來檢查的cron計劃表在數據庫中。它所做的只是讀取那裏的數據(並提供其他一些小巧的功能),但如果您不熟悉Magento代碼/數據庫體系結構,它可能相當有用。 http://www.magentocommerce.com/magento-connect/aoe-scheduler.html

+0

謝謝,我仔細檢查過點1和2,他們都因爲他們應該的,我已經清空緩存幾次和雙重檢查編譯也被禁用。文件權限是一個問題,因爲我們確實有一個與文件所有權相關的問題,無法創建緩存文件。該模塊看起來不錯,我現在下載並安裝。 – Gavin

+0

該模塊非常好 - 它顯示sitemap_generation cron在0 3 * * *這是每天凌晨3點。你知道這個特定的值存儲在哪裏,因爲我可以直接編輯數據庫嗎? – Gavin

+0

@Gavin我添加了另一個選項,可以讓你進一步調試它。 – sg3s

1

我在找同樣的問題。

它看起來像有在Mage_Adminhtml_Model_System_Config_Backend_Sitemap_Cron::_afterSave

第45行中的錯誤讀取$frequncy = $this->getData('groups/generate/frequency/value');

,應閱讀$frequncy = $this->getData('groups/generate/fields/frequency/value');

我只是tryied這一點,它在每個頻率選項

解釋工作正常:

當您保存站點地圖配置文件這個方法被調用來重新計算站點地圖生成的cron表達式,然後cron模塊讀取這個表達式來調度和稍後運行這些任務。在第57和59行,它試圖確定頻率是否是每週或每月,否則是每日。由於最初讀取的值是錯誤的,因此它總是默認爲每天。

而且變量或許應該被命名爲$frequency代替$frequncy

+0

我已經在Magento2存儲庫中提交了一個錯誤報告,並且它被確認爲一個錯誤 – barbazul

相關問題