gpt4 book ai didi

chef-infra - Chef 和 git sync - 如何在更新时通知 runit 服务重新加载?

转载 作者:行者123 更新时间:2023-12-05 00:00:35 26 4
gpt4 key购买 nike

我正在使用以下内容在我的厨师食谱中同步我的 github 存储库。

branch_name = "master"
git "/home/ubuntu/workspace/repo" do
repository "git@github.com:me/repo.git"
revision branch_name
action :sync
user "root"
end

在 repo 中是我的 python web.py 脚本,它运行我的 spawn-fcgi app 。我正在使用 runit 配方来运行我的 spawn-fcgi 作业。
include_recipe "runit"
runit_service "myservice"

问题是..鉴于 repo 中的 index.py 脚本已更新......我如何通知 runit scipt myservice 重新加载我的 spawn-fcgi 脚本?

最佳答案

如果我理解正确,这应该在 git 更新后重新加载服务:

branch_name = "master"
git "/home/ubuntu/workspace/repo" do
repository "git@github.com:me/repo.git"
revision branch_name
action :sync
user "root"
notifies :restart, "service[myservice]"
end

重新加载将推迟到您的厨师运行结束。要立即实现,您可以将最后一行更改为:
notifies :restart, "service[myservice]", :immediately

runit_service 定义不支持 :reload 作为操作。请注意,这将在 git 版本更改时重新启动服务(因此本地存储库已更新)。如果你只想监控一个文件,你可能需要编写一个脚本或其他东西来检查更新的文件,但我怀疑任何 git 更改都应该重新启动。

关于chef-infra - Chef 和 git sync - 如何在更新时通知 runit 服务重新加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com