Linux后台任务最长处理时间

时间:2016-02-28 16:29:14

标签: php mysql linux yii cron

后台任务可以运行多长时间是否有固定的持续时间?

这是我手动运行脚本(后台任务)的方式:

php /var/www/html/app_v2/console.php massbulkinsert app.example.com 10 > /dev/null &

这个脚本处理庞大的数据集,大约需要1个小时才能完成。

第一次停在第10100记录。第二次停在9975记录。它没有终止的模式。

top命令和mysql pid大多数时间分别为98%,100%和130%,可用内存大约为200 MB。磁盘空间足够。

1 个答案:

答案 0 :(得分:2)

这是一个疯狂的猜测,但通常当您使用较少的数据成功 - 然后以较大的数量崩溃时,它与内存问题有关。

你应该看看/ etc / php5 / cli。可能还有一个名为cgi inthere的文件夹 - 取决于您的框架如何执行后台脚本,我希望使用这两种配置中的任何一种。

扩展名为'ini'的文件是PHP脚本的配置,这些是您感兴趣的值(值是debian 8的默认值):

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30


; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit = -1

请注意,脚本可以花费多长时间,读取发送给它的数据,例如管道(max_input_time)。但是看到你的命令,你没有通过stdin传递值 - 但很可能是读取磁盘上已有的文件。

希望有所帮助