Open8
Azure AppServiceのLinux環境でLaravelのQueue Workerを自動起動したい

Linux環境だとAzureのWebJobが使えないからスケジューラからqueue:workを叩けない

systemdもインストールされていないので使えない。
sshからsystemctlとかもインストールしてみたがちゃんと使えなかった

このサイトがとても役に立った
supervisorでの永続化はできた

再起動ごとにsupervisorは無くなってしまうのでコンテナ起動時にインストール→Laravel Queue Workerの設定ファイルを配置・読み込み→supervisor起動までやってもらうようにする

AppServiceの全般設定のスタートアップコマンドでshを実行するようにしてあげる
sh /home/my_startup.sh

そのshファイルの中にインストールから起動まで書いてあげる。
home配下はAppServiceでも消えない
apt update && apt install supervisor -y
cp /home/laravel-queue-worker.conf /etc/supervisor/conf.d/
service supervisor start

supervisorで起動するとAppService上で設定しているアプリケーション設定の環境設定を読み込んでくれない。
.envからしか環境設定を読み込めないので、結局.envにAzure AppServiceで動かすための設定を書く必要がある。

動くだけならゴリ押しで行けたけどいい方法はないものか・・・