脚本导致超时

时间:2011-10-05 17:40:40

标签: php curl

我有一个导致超时的脚本,一些的时间。运行需要一段时间,我将解释它的作用: 我们有相当少的用户(将其设置为20),我们管理所有这些用户的库存。每天早上(比如早上6点左右),第三方通过ftp将库存发送为.csv文件。库存包括项目描述,然后是图像的可变长度URL列表。 我们的系统需要下载其尚未拥有的任何图像(99.9%的时间仅在库存Feed中有新项目时发生)。通常库存供应量是95%相同,因为大多数库存不会从一天到下一天销售。

棘手的部分是,每天早上我们的系统会查看每个库存项目,并针对新Feed交叉检查每个项目的图像列表。如果图像不存在,则使用CURL操作将新图像带过来。

你可以想象,这取决于一天,这可能是一个相当耗时的操作。我有一个cron工作。如果我手动运行,则需要1-5分钟,具体取决于负载,有时(如同每5次尝试一次),它会产生“内部服务器错误”而无需任何解释

我在文件中首先使用set_time_limit(0)指令,所以我想知道是否还需要做些什么来确保它不会超时?或者你们认为转移失败可能导致问题并使脚本在某些情况下死亡?就像失败的转移一样,处理得很糟糕 - 我不知道。而不是发布所有代码我想知道我是否可以先得到一些想法,因为脚本非常复杂,我不想浪费任何时间。

欢迎任何想法。我想不出为什么它间歇性地不起作用。 为了记录,如果我手动运行两次,它总是第二次运行,但我认为这是因为第一次运行已经处理了大部分下载......

2 个答案:

答案 0 :(得分:2)

检查日志以查看确切的ISE错误。这可能会导致您检查PHP日志,具体取决于系统设置以获得更有限的错误。在没有任何日志的情况下猜测问题,只能做到最好的猜测。

图片的文件大小是多少?不知何故,我认为这可能是由于转移失败,我自己。

答案 1 :(得分:0)

无论set_time_limit如何,某些主机都会终止长时间运行的任务。尝试联系他们并询问它。