后台任务可以运行多长时间是否有固定的持续时间?
这是我手动运行脚本(后台任务)的方式:
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。磁盘空间足够。
答案 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传递值 - 但很可能是读取磁盘上已有的文件。
希望有所帮助