php / php/php-src

FPM support for S6 service startup notifications

Offen
#10,316 0 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Feature SAPI: fpm
Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.1k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
96

Beschreibung

Description

S6 and specifically its overlay is a popular set of programs for process supervision. It is very light and often used to run PHP-FPM with other services inside a single container (e.g. Docker). Currently to notify it about service startup, it needs to use s6-notifyoncheck program that runs as FPM master subprocess that polls FPM. It's not optimal and it has got its own issue described in #10315. S6 offers its own notification mechanism that would be better.

The idea is that FPM would receive the descriptor number when started and when it's ready it would write new line to that descriptor which would notify S6 that it's started.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Lektüre der S6 notifywhenup-Dokumentation und des verlinkten s6-overlay-Kontexts und vergleiche sie anschließend mit dem bestehenden FPM-Startverhalten. Prüfe Issue #10315 auf den aktuellen Polling-Ansatz. Erledigt ist die Aufgabe, wenn FPM beim Start einen Deskriptor empfangen und eine Readiness-Zeile schreiben kann, sobald es bereit ist, wobei das Verhalten durch relevante FPM-Tests verifiziert wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, php
Bereich
backend, devops
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.