Subversion Post-Commit-Haken
Frage
Ich habe einen Subversion Post-Commit-Hook erstellt, um jedes Mal eine E-Mail zu senden, wenn ein Komitee eingerichtet wird. Wenn Sie ein Python-Skript aus der Datei Post-Commit in/var/svn/repos/Hooks aufrufen.
REPOS="$1"
REV="$2"
~/svnnotify.py $REV
Das Problem ist jedoch, dass der Befehl SVN Commit eine längere Zeit dauert, bis es darauf wartet, dass das Python -Skript zuerst beendet wird. Gibt es irgendwie um das?
Danke
Lösung
Versuchen Sie, einen Verstärker hinzuzufügen (&
) Nach der Zeile, die Ihr Skript aufruft, um es in den Hintergrund zu setzen, und sofort zurückkehren.
Andere Tipps
Rufen Sie eine Batch -Datei an und führen Sie in dieser Batch -Datei das Python -Skript aus, um im Hintergrund zu ausgeführt, indem Sie am Ende des Befehls in der Batch -Datei (&) Ampersand hinzufügen.
Vielleicht geben Sie das Update in eine einfache Warteschlange, die von einem von Cron aufgerufenen Skript ausgeführt wird, und sendet eine Nachricht, wenn etwas in der Warteschlange steht.
Die Warteschlange kann eine einfache Datei in /TMP, eine SQLite -Datei oder eine MySQL -Tabelle sein.
Wenn es merklich lange dauert, die E-Mail zu senden, ist mit dem Code im Benachrichtigungsskript etwas los. Es sollte nicht so lange dauern, eine E-E-Semail in die örtliche Mail-Warteschlange zu stellen.