最も基本的な python デプロイメントを自動化するために Fabric を使い始めたところです。スタックの一部は、redis 上のキュー ソリューションとしてrq ( http://python-rq.org/ ) を使用するジョブ サーバーです。説明できない何らかの理由で、rq-dashboard および rqworker コマンドがファブリック内で開始されません。Fabric が使用している正確な行をコピーして貼り付けることができ、問題なく動作しますが、Fabric では失敗します。
ファブリック コードは次のようになります。
env.activate = '. /src/venvs/appvenv/bin/activate'
@task
def deploy_jobs_box():
with cd(repo_dir):
with show('debug'):
with shell_env(APP_ENV='development'), prefix(env.activate):
run("rq-dashboard > /dev/null 2>&1 &")
run("rqworker > logs/rqworker.log 2>&1 &")
スクリプト内で rq コマンドを実行するなど、考えられるすべてのバリエーションを試しましたが、どれも機能しません。奇妙なことに、それらをスクリプトに入れ (これらの行だけで)、最後に「ps aux | grep rq」を含めると、rq プロセスが表示されます...しかし、fab スクリプトが終了したら、チェックしますボックス、プロセスはなくなりました。
どんな助けでも大歓迎です、ありがとう。