2012-02-06 56 views
2

我已經爲一個magento商店編寫了一個腳本,目的是填充一個.txt文件,然後由Google Merchant Center讀取該文件。將較大的腳本拆分爲較小的批次

該腳本功能正常,但magento商店託管在蹩腳的主機上,每個PHP實例只允許256MB。這是不能改變的,所以我能看到的唯一解決方案是打破腳本,所以它每次只能處理幾個產品,每隔幾分鐘運行一次cron作業。

我正在努力想辦法做到這一點,雖然有效。我可以限制我選擇的產品的數量,但下次腳本運行時它不會知道添加到.txt的內容以及沒有的內容。

感謝您的任何幫助。

+1

爲什麼不只是計算txt文件中的行數並將其用作偏移量? – 2012-02-06 14:34:25

回答

0

一個簡單但可能稍微髒的解決方案可能是在產品表中添加一個簡單的「複選框」列,或者只有兩列,即產品ID和時間戳。 然後您可以使用時間戳來排序並限制獲取的行數。

select productId, lastProcessed from productProcess order by lastProcessed asc limit 0,<whatever your limit> 

然後,當您處理每一行時,您可以使用NOW()更新lastProcessed列。 如果您不想連續處理產品,您可以使用複選框列來標記您處理的時間,然後在特定時間清除所有「複選框」。

它增加了處理時間,但這種方式您可以確定您已經處理了哪些產品。

這些只是幾個變種,你可以想出基於此的其他解決方案。