2012-02-06 46 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列。 如果您不想连续处理产品,您可以使用复选框列来标记您处理的时间,然后在特定时间清除所有“复选框”。

它增加了处理时间,但这种方式您可以确定您已经处理了哪些产品。

这些只是几个变种,你可以想出基于此的其他解决方案。

相关问题