¿Hay alguna duración de tiempo fijo en cuanto a cuánto tiempo puede ejecutarse una tarea en segundo plano?
Así es como ejecuto el script (tarea en segundo plano) manualmente:
php /var/www/html/app_v2/console.php massbulkinsert app.example.com 10 > /dev/null &este script procesa un gran conjunto de datos, tarda aproximadamente 1 hora en completarse.
La primera vez que se detuvo en el registro 10100. la segunda vez se detuvo en el registro 9975. No hay un patrón de que termine.
top comando y mysql pid estaba en 98% y 100% y 130% la mayor parte del tiempo y la memoria libre tenía alrededor de 200 MB. Hay suficiente espacio en disco.
Es una suposición un poco descabellada, pero generalmente cuando tiene éxito con una cantidad menor de datos, y luego se bloquea con cantidades más grandes, tiene que ver con problemas de memoria.
Debería echar un vistazo a /etc/php5/cli. Probablemente también haya una carpeta llamada cgi allí; dependiendo de cómo su marco ejecute el script de fondo, esperaría que se use cualquiera de estas dos configuraciones.
Los archivos con extensiones llamadas 'ini' son configuraciones para secuencias de comandos PHP, y estos son algunos de los valores que le interesan (los valores son predeterminados en 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 Tenga en cuenta que también hay un tiempo de espera para el tiempo que puede pasar el script, leyendo los datos que se le envían, digamos una tubería ( max_input_time ). Pero al ver su comando, no está canalizando valores a través de stdin, sino que lo más probable es que lea un archivo que ya está en el disco.
Espero eso ayude