2012-01-28 14 views
7

私は最近、アプリケーションからバージョン管理ページを作成して、展開プロセスを管理しています。Gunicorn ::アプリケーション自体からリロード

(ええ、私は知っている、githubの+フックは、ゼロから書き直すよりも優れている。しかし、我々はイランであり、私たちの最愛の政府は、国の外にすべてのssh接続をブロックしています。。そこ(()

ページ内のマージ+リロードアクションです。マージは他の部分と同様に動作しますが、リロード部分はメッセージなしで失敗します。killコマンドのsudo行を追加しました。コードフォームdjangoシェルとそれを再読み込みしました。

ワーカーがマスターをリロードできないなど、信号を受信するための制限はありますか?

はここに関連するコードです:

def command(x): 
    return str(Popen(x.split(' '), stdout=PIPE).communicate()[0]) 

pid = open(PATH + "/logs/gunicorn.pid").readline().strip() 
cmd = "sudo kill -HUP %s" % pid 
content += command(cmd) 

答えて

1

は、私の頭の上から推測リロードを呼び出したプロセスが殺されているため、再起動が動作していないということです。おそらく、リロードを呼び出した後に終了するサブプロセスをデーモン化しようとしますか?この投稿をご覧ください:

spawning process from python

関連する問題