supervisord: Können Sie zwei Programme mit demselben Namen, aber auf unterschiedlichen Befehlspfaden ausführen?

supervisord: Können Sie zwei Programme mit demselben Namen, aber auf unterschiedlichen Befehlspfaden ausführen?

Wenn ich zwei Dateien erstelle:

horizon-staging.conf

[program:horizon]
process_name=%(program_name)s
command=php /var/www/staging/current/artisan horizon
autostart=true
autorestart=true
user=forge
redirect_stderr=true

horizont-produktion.conf

[program:horizon]
process_name=%(program_name)s
command=php /var/www/production/current/artisan horizon
autostart=true
autorestart=true
user=forge
redirect_stderr=true

und den Befehl auslösen sudo supervisorctl start horizon. Werden beide Programme ausgeführt? (Nebenfrage: Kann ich das auch in eine Conf-Datei packen?)

Antwort1

NEIN.

Der Name des Programms ist nicht unbedingt mit dem Namen der Anwendung verknüpft. Der richtige Weg wäre, sowohl ein Horizon-Staging als auch ein Horizon-Production wie folgt zu erstellen:

[program:horizon-staging]
process_name=horizon
command=php /var/www/staging/current/artisan horizon
autostart=true
autorestart=true
user=forge
redirect_stderr=true

[program:horizon-production]
process_name=horizon
command=php /var/www/production/current/artisan horizon
autostart=true
autorestart=true
user=forge
redirect_stderr=true

Es gäbe also beide Einstiegspunktoptionen.

Und ja, Sie können zwei verschiedene Programme innerhalb derselben Konfiguration deklarieren.

verwandte Informationen