nachdem ich mit einigen Projekten auf neue Server umgezogen bin hatte ich das Problem, dass bei einigen Projekten der serverseitige Cronjob nach ein paar Sekunden abgebrochen ist und somit die Preise nicht aktualisiert worden sind.
Auf den neuen Servern läuft Ubuntu 16.04.1 LTS mit Plesk Onyx Version 17.0.17.
Ich verwende die PHP Version 7.1.1 als FastCGI-Anwendung.
Zuerst versuchte ich die PHP Werte zu erhöhen, was aber keinen Erfolg brachte.
Dann habe ich in den "Abonnements" bei den Einstellungen für "Einstellungen für Apache & nginx" unter den zusätzlichen Apache-Anweisungen folgendes hizugefügt:
<IfModule mod_fcgid.c>
IdleTimeout 3600
ProcessLifeTime 7200
DefaultMaxClassProcessCount 8
IPCConnectTimeout 600
IPCCommTimeout 7200
BusyTimeout 600
</IfModule>
Damit liefen die Cronjobs wieder ohne Probleme. Das Problem waren die zu geringen Timeout Werte im Apache Server bzw. im FastCGI.
Wem hier 600 Sekunden immer noch zu wenig sind, der kann die Werte noch erhöhen.
Wer wie ich auf einem Server mehrere Instanzen laufen hat und keine Lust hat die Einträge in allen Abonnements manuell hinzuzufügen, der kann, Shell-Zugriff als Root vorausgesetzt, in der Datei /etc/apache2/mods-enabled/fcgid.conf die Werte wie folgt anpassen:
FcgidIdleTimeout 600
FcgidProcessLifeTime 600
FcgidMaxProcesses 20
FcgidMaxProcessesPerClass 8
FcgidMinProcessesPerClass 0
FcgidConnectTimeout 600
FcgidIOTimeout 600
FcgidInitialEnv RAILS_ENV production
FcgidIdleScanInterval 10
Auch hier gilt, wem die 600er Werte zu gering sind, der kann diese noch erhöhen.
Zum Schluß noch den Apache neu starten und die Cronjobs sollten nun wieder ohne Probleme durchlaufen.Statistik: Verfasst von hanmedia — So 5. Feb 2017, 20:32
]]>