2016-04-14 5 views
5

I supervisord Dienst ausgeführt werden soll jederzeit Server erhalten wurde neu gestartet mit dieser tutorial und dass ein Teil funktioniert super endlich geschafft. Ich stelle es so auf, dass es 10 Arbeiter anlockt. Das Problem ist, wenn ich am nächsten Tag nachschaue, haben einige dieser Arbeiter gestoppt und nicht neu gestartet. Der Server wurde auch nicht neu gestartet. DieseBetreuer Arbeiter stoppen Überstunden und nicht neu starten (mit Laravel verwendet)

ist, wie mein Programm ist Setup in supervisord.conf Datei:

[program:laravel-worker] 
process_name=%(program_name)s_%(process_num)02d 
command= php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
directory=/home/magic/_app/_laravel 
numprocs=10 
redirect_stderr=true 
autostart=true 
autorestart=true 
startsecs=0 
startretries=10 
exitcodes=0,2 
stopsignal=TERM 
stopwaitsecs=10 
stdout_logfile=/home/magic/_app/_laravel/storage/logs/supervisor/supervisor.log 
stdout_logfile_maxbytes=50MB 
stdout_logfile_backups=10 
stdout_capture_maxbytes=0 
stdout_events_enabled=false 
user=magic 
environment=PATH="/usr/local/bin" 

Das erste Mal beginne ich mit dem Service service supervisord start, und dann, wenn ich service supervisord status tun, zeigt es die Prozesse unten nach oben. Ich verstehe sie nicht vollständig, aber es sieht gut aus, weil es 10 Fälle meines Handwerkerbefehls gibt.

|-17991 /usr/bin/python /usr//bin/supervisord --pidfile /tmp/supervisord.pid 
|-17992 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-17993 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-17994 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-17995 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-17996 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-17997 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-17998 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-17999 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-18000 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-18001 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-18002 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-18003 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-18004 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-18005 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-18006 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-18007 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-18008 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-18009 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-18010 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
`-18011 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 

Aber dann nach einiger Zeit, in der Regel am nächsten Tag, ich sehe Dinge wie diese. Und diesmal sieht es so aus, als ob nur 6 Prozesse laufen, also haben 4 von ihnen aufgehört.

|- 3984 /usr/bin/python /usr//bin/supervisord --pidfile /tmp/supervisord.pid 
|- 3985 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|- 3986 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|- 3988 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|- 3989 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-12224 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-13610 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-14263 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-16417 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
|-17424 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-17425 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-17427 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-17428 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-17429 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-17430 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
|-17856 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
`-18356 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 

Das supervisord Protokoll zeigt ziemlich normal Sachen. Da sind ein paar 500 Fehler drin und ich dachte, dass das vielleicht ein Vorlauf war, aber sie passen nicht zur Anzahl der fehlenden Arbeiter oder zu den Zeitstempeln.

Die Laravel sich einzuloggen hat ein paar maximale Fehler überschritten Ausführungszeit, es hat tatsächlich genau 10 davon aus dem letzten Mal, wenn ich das Protokoll gelöscht. Also ich weiß nicht, ob das 1 für jeden Arbeiter ist. Es sieht ungefähr so ​​aus. Wiederum stimmen die Zeitstempel nicht wirklich mit dem Supervisor-Protokoll überein, daher ist es schwer zu wissen, ob dies den Grund dafür sein könnte. Ich kann die Ausführungszeit von PHP erhöhen. Ich weiß einfach nicht, ob das dazu führen kann, dass die Arbeiter nicht neu gestartet werden.

[2016-04-14 02:56:20] production.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Maximum execution time of 30 seconds exceeded' in /home/magic/_app/_laravel/vendor/symfony/process/Symfony/Component/Process/Pipes/UnixPipes.php:130 

Wenn jemand einen Rat oder einen Vorschlag hat, würde ich es begrüßen. Ich möchte dieses Problem wirklich beheben.

So nach supervisorctl Befestigung ordnungsgemäß funktionieren kann, wenn ich jetzt supervisorctl status tun, es zeigt alle 10 Arbeiter wie Laufen. Aber das Problem ist, dass sie nicht die Befehle ausführen, die sie sollen.

Hier ist, was supervisorctl status zeigt jetzt:

laravel-worker:laravel-worker_00 RUNNING pid 11566, uptime 4:38:36 
laravel-worker:laravel-worker_01 RUNNING pid 18358, uptime 2 days, 18:40:16 
laravel-worker:laravel-worker_02 RUNNING pid 8102, uptime 1 day, 20:57:15 
laravel-worker:laravel-worker_03 RUNNING pid 10691, uptime 11:42:54 
laravel-worker:laravel-worker_04 RUNNING pid 32543, uptime 1 day, 22:07:53 
laravel-worker:laravel-worker_05 RUNNING pid 30215, uptime 20:40:02 
laravel-worker:laravel-worker_06 RUNNING pid 32732, uptime 1 day, 22:03:05 
laravel-worker:laravel-worker_07 RUNNING pid 24625, uptime 21:44:41 
laravel-worker:laravel-worker_08 RUNNING pid 19807, uptime 2:36:21 
laravel-worker:laravel-worker_09 RUNNING pid 32332, uptime 1 day, 3:07:34 

Und hier ist es, was service supervisord status zeigt. Wie Sie sehen können, zeigt es 10 Arbeiter und 3 Aufgaben, die diese Arbeiter ausführen. Aber es sollten 10 Aufgaben sein, die den 10 Arbeitern entsprechen. So scheint es, wie Überstunden Arbeiter aus irgendeinem Grund die Aufgaben stoppen Durchführung, obwohl sie noch laufen:

* supervisord.service - SYSV: Supervisor Server 
    Loaded: loaded (/etc/rc.d/init.d/supervisord) 
    Active: active (running) since Thu 2016-04-21 16:44:43 EDT; 2 days ago 
    Docs: man:systemd-sysv-generator(8) 
    CGroup: /system.slice/supervisord.service 
      |- 8102 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
      |-10691 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
      |-11566 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
      |-18356 /usr/bin/python /usr//bin/supervisord --pidfile /tmp/supervisord.pid 
      |-18358 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
      |-19807 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
      |-24625 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
      |-28557 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
      |-28711 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
      |-28712 /usr/local/bin/php artisan queue:work --queue=high,default --delay=0 --memory=128 --sleep=5 --tries=5 --env=production 
      |-30215 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
      |-32332 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
      |-32543 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 
      `-32732 php /home/magic/_app/_laravel/artisan queue:listen --queue=high,default --tries=5 --sleep=5 --timeout=600 

Apr 21 16:44:43 host systemd[1]: Starting SYSV: Supervisor Server... 
Apr 21 16:44:43 host supervisord[18351]: Starting supervisord: /usr/lib/python2.7/site-packages/supervisor-3.2.3-py2.7.egg/supervisor/option... 
Apr 21 16:44:43 host supervisord[18351]: 'Supervisord is running as root and it is searching ' 
Apr 21 16:44:43 host supervisord[18351]: [17B blob data] 
Apr 21 16:44:43 host systemd[1]: Started SYSV: Supervisor Server. 
+0

was ist das Ergebnis von 'supervisorctl status'? oder 'supervisorctl tail '? – fernandezcuesta

+0

@valtuarte Ich denke nicht, dass supervisorctl richtig eingerichtet ist oder läuft und ich wusste nicht, ob supervisord es benötigt.Der Status von 'supervisorctrl status' gibt 'unix: ///var/run/supervisor.sock keine solche Datei' zurück. Derselbe Fehler für 'supervisorctl tail ' – zen

+0

@zen versuchen 'supervisorctl -c pathToSupervisord.conf status' – Wistar

Antwort

0

Ich glaube, ich könnte dieses Problem behoben haben. Es wurde möglicherweise durch Verwendung von inkorrekten PHP in command Attribut in Datei verursacht. Habe ich es von php zu /usr/local/bin/php und es wurde für 2 Tage jetzt und keine der Aufgaben laufen mußte neu gestartet oder hat die Verarbeitung Warteschlangen gestoppt.

Ich werde diese Frage später zu aktualisieren, wenn ich das Problem wiederholen sehen, aber es scheint, wie es viel stabiler jetzt läuft, als es jemals hat.

Verwandte Themen