私は永遠にループするbashスクリプトを持っています。実行する必要があるかどうかを確認するために環境変数をチェックします。php yii process-queue
このスクリプトは、方法によってドッキングウィンドウコンテナ用のコマンドですので、PIDが1シェルスクリプトに環境変数の変更が表示されない
出力ps aux
からです。私は、コマンドラインからexport RUNPROCQ=true
を実行すると、私はphp yii process-queue
の実行を開始するためにループを期待
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19720 3340 ? Ss 09:26 0:00 /bin/bash /var/www/hub/process-queue-runner.sh
root 293 0.0 0.0 19936 3664 ? Ss 09:28 0:00 /bin/bash
root 1927 0.0 0.0 6012 648 ? S 09:42 0:00 sleep 0.5
root 1928 0.0 0.0 36092 3164 ? R+ 09:42 0:00 ps aux
が、それはない - 私は自分のbashスクリプトで実行できるコマンドがあるので、RUNPROCQ
環境変数値の変更を見ることができますか?
process-queue-runner.sh
と呼ばれる私のbashスクリプト:
#!/bin/bash
while :
do
if [[ ${RUNPROCQ} != "false" ]]; then
php yii process-queue
fi
sleep 0.5
done
ここでは、ドッキングウィンドウ-compose.ymlファイルから該当するセクションです:
procq:
image: hub_ui:latest
environment:
ENV: qa1
RUNPROCQ: "false" # this is to stop the proc q from running straight away - the refresh_db.sh script will set this to true once it has finished loading the fixtures
links:
- db:local.database.hub
- cache:local.cache.hub
command: /var/www/hub/process-queue-runner.sh
どのようにスクリプトを実行しましたか? – Inian
@Inianドッカーコンテナのコマンドです - 関連するdocker-compose.ymlセクションを私の質問に追加しました。 –
問題は、環境変数の変更を反映していない、サブシェルで実行されるスクリプトの_execution_です。多分あなたはそれをソースできると思いますか? – Inian