Privatsphären-Einstellungen

Auf unserer Website verwenden wir verschiedene Arten von Cookies: technische, funktionale und Analyse-Cookies. Grundsätzlich können Sie unsere Seite auch ohne Cookies besuchen. Wenn Sie auf "Akzeptieren" klicken, stimmen Sie der Nutzung dieser Technologien zu. Details

Zum Inhalt springen
Tooling

Forge: Neustart von Queues oder Daemons via Deployment-Script


Manchmal kommt es zu Problemen mit der Queue. Es kann passieren dass die Datenbank-Verbindung des Redis-Workers abbricht, was einen Neustart des Queue-Workers erforderlich macht.

Dieses Fehlerbild zeigt sich durch das Logging des Redis-Workers:

In Connection.php line 825:
                                                                               
  SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: select *  
   from `cache` where `key` in (illuminate:queue:restart))                     
                                                                               

In Connector.php line 66:
                                             
  SQLSTATE[HY000] [2002] Connection refused

Mithilfe das Forge-Schedules kann über einen einfachen Command der Redis-Worker jede Nacht neu gestartet werden. Was die autonome Stabilität der Webapp verbessert.

Command zum Restart von Queues oder Deamons:

sudo -S supervisorctl restart worker-5432987:worker-5432987_00

Die ID des Queue-Workers oder des Deamons kann über den Status-Dialog (Button: "Check Worker Status") ausfindig gemacht werden:

Laravel Forge Redis Worker Status Dialog.

Daraufhin wird ein Dialog wie der folgende angezeigt, in dem Sie den Namen des Arbeiters sehen.

Laravel Forge: Check Queue and Deamon ID for restart via Deployment Script.

Den Command (sudo -S supervisorctl restart worker-5432987:worker-5432987_00) fügen wir nun im Forge Scheduler ein, zur nächtlichen Ausführung:

Laravel Forge: Restart Redis via Forge Scheduler.

Dieser Command auch in Deployment-Script untergebracht werden.