Подрывная деятельность пост-коммит-крюк
Вопрос
Я создал подрывную деятельность после обеда, чтобы отправлять электронное письмо каждый раз, когда совершается коммит. Им вызовет скрипт Python из файла после обряда в/var/svn/repos/chooks.
REPOS="$1"
REV="$2"
~/svnnotify.py $REV
Но проблема в том, что команде Commit SVN занимает больше времени для прекращения, поскольку она ждет сценария Python в первую очередь. Есть ли способ обойти это?
Благодарю вас
Решение
Попробуйте добавить Ampersand (&
) После строки, которая вызывает ваш сценарий, чтобы поместить его в фоновое значение и немедленно вернуться.
Другие советы
Вызовите пакетный файл, и в этом пакетном файле выполнить скрипт Python, чтобы запустить в фоновом режиме, добавив Ampersand в конце команды в пакетном файле (&).
Возможно, поместите обновление в простой очередь, которая поднимается с помощью сценария, вызванного Cron, и отправляет сообщение, если что -то сидит в очереди.
Очередь может быть простым файлом в /TMP, файл SQLite или таблицу MySQL.
Если для отправки электронной почты требуется заметно много времени, возможно, что-то есть с кодом в скрипте уведомления. Не должно потребоваться так много времени, чтобы поместить электронную почту в местную очередь почты.