Bei meinem derzeitigen Arbeitgeber verwenden wir Ant, um unsere Build-Skripte auszuführen, und ich muss unserer build.xml-Datei ein Ziel hinzufügen, das 4 PHP-Skripte, die Gearman-Worker im Hintergrund sind, startet und diese Skripte dann einmal beendet Der Build ist fertig.
Ich habe mir die Direktiven 'parallel' und 'Dämonen' angeschaut (ist das das richtige Wort?), aber ich habe nicht genug Erfahrung mit Ant, um die Informationen zu finden, die ich verpasse, um sicherzustellen, dass das Skript läuft im Hintergrund.
Da Sie nicht viele Antworten bekommen, schlage ich Ihnen eine Low-Tech-Methode vor, mit der Sie vielleicht anfangen können ...
Verwenden Sie eine ant-Exec-Task, um 4 Hintergrund-PHP-Prozesse auszulösen, die ihre PID in eine Datei schreiben, die die Build-Nummer enthält (vermutlich aus der Umgebung), um sie zu identifizieren.
Sobald die Erstellung abgeschlossen ist, führen Sie das Skript erneut mit einem stop-Parameter aus und verwenden Sie das Dateibenennungssystem, um Prozess-IDs zu finden, um Tauschdateien zu entfernen und zu löschen. Wahrscheinlich lohnt es sich auch dort eine Art abgestandener Job Reiniger zu haben.
Sollte nicht zu schwer sein, um etwas hochzuwerfen, das funktioniert, bis Sie eine elegantere Lösung finden.
Ist das gut für dich?
test.php: (dies wäre Ihr Worker-Skript)
%Vor%runner.sh:
%Vor%