Laufen habe ich eine Kappe Aufgabe, die mehr andere lange Laufkappe Aufgaben nennen:eine Capistrano Aufgabe im Hintergrund
kann also sagen, dass ich eine neue Aufgabe A
Innerhalb dieser Kappe Aufgabe I (je nach Bedingung genannt habe) Rufen Sie eine andere Cap-Task, sagen wir B
. so etwas wie dieses
Kappe Aufgabe B
sequentiell ruft 4 weitere Kappe Aufgaben c
, D
, E
, &, F
So ist sein:
task :B do
on roles(:all) do
invoke 'tasks:C'
invoke 'tasks:D'
Rake::Task['db:E'].invoke("arg1", "arg2")
Rake::Task['db:F'].invoke("arg1", "arg2")
end
end
Jede C, D, E & F lange läuft und muss in der Reihenfolge wie angegeben sequenziell ausgeführt werden.
Grundsätzlich sind die Tasks C bis F db & Assets, die zip- und Upload-Aufgaben ausführen, die lange dauern können. Sie dürfen den Cap-Deployment-Prozess nicht behindern und sollten unabhängig im Hintergrund ausgeführt werden.
So brauche ich eine Möglichkeit, Task B
von Task A
zu starten, so dass es im asynchronen Modus ausgeführt wird, und Rest der Cap-Aufgaben während der Bereitstellung weiterhin ausgeführt werden.
Zur Klärung: Sollen die Aufgaben C-F vor dem Abschluss des Capistrano-Laufs beendet werden, oder laufen die Hintergrundprozesse/Daemons lange? –
Long running background process [Ich werde meine Frage aktualisieren] – adil
Also C-F wird schließlich fertig, aber eine Bereitstellung kann als erledigt betrachtet werden, bevor sie tun? –