如何在后台运行git post-receive-email ?



我有一个post-receive钩子,只是调用/usr/share/git-core/contrib/hooks/post-receive-email

我希望它在后台运行,这样git就不会在提交后延迟。我尝试过各种技巧(exec,管道到"at now",nohup),但当我使用这些技巧时,没有电子邮件发出。我怀疑这与使用stdin将参数传递给钩子有关。

我想我需要捕获stdin,但我不知道如何做到这一点。

有什么建议吗?

虽然这可能不是您想要的答案,但您可以使用cron和邮件传递脚本将钩子从邮件传递中解耦,将所需的电子邮件放入目录中,并让脚本将其捡起。如果您不想等待cron每分钟的边界,您可以创建一个守护进程,它使用inotify来监视该目录中删除的文件。

最新更新