Перезапуск Laravel рабочих очередей на Elasti c Beanstalk - PullRequest
0 голосов
/ 10 марта 2020

Чтобы перезапустить рабочие очереди с переменными среды fre sh, у меня есть следующий файл .ebextension

files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/90_make_storage_writable.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
        #!/usr/bin/env bash
        chmod -R 777 /var/app/current/storage
"/opt/elasticbeanstalk/hooks/appdeploy/post/95_run_migration.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
        #!/usr/bin/env bash
        #
        # Restart supervisord/ctl (reloads environment variables in artisan jobs)
        #
        # Mkdir required for initial installation.
        mkdir -p /var/app/support/logs/supervisor
        /usr/bin/pkill supervisord
        /usr/bin/pkill supervisorctl
        sleep 5s
        /usr/local/bin/supervisord
        /usr/local/bin/supervisorctl reread
        /usr/local/bin/supervisorctl update
        /usr/local/bin/supervisorctl start laravel-queue:*
        #
        cd /var/app/current
        . /opt/elasticbeanstalk/support/envvars
        if [[ ! -z "${APP_ENV}" ]]; then
            /usr/bin/php artisan migrate --force
            /usr/bin/php artisan queue:restart
        fi
"/opt/elasticbeanstalk/hooks/configdeploy/post/10_run_migration.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
        #!/usr/bin/env bash
        #
        # Restart supervisord/ctl (reloads environment variables in artisan jobs)
        #
        # Mkdir required for initial installation.
        mkdir -p /var/app/support/logs/supervisor
        /usr/bin/pkill supervisord
        /usr/bin/pkill supervisorctl
        sleep 5s
        /usr/local/bin/supervisord
        /usr/local/bin/supervisorctl reread
        /usr/local/bin/supervisorctl update
        /usr/local/bin/supervisorctl start laravel-queue:*
        #
        cd /var/app/current
        . /opt/elasticbeanstalk/support/envvars
        if [[ ! -z "${APP_ENV}" ]]; then
            /usr/bin/php artisan migrate --force
            /usr/bin/php artisan queue:restart
        fi

Однако он не работает. Рабочие перезагружаются, но ничего не делают.

Запуск sudo sh 95_run_migration.sh тоже не работает (все команды работают, но рабочие ничего не делают).

Однако, если я запустите

sudo su -
sh 95_run_migration.sh

, тогда это сработает. Я знаю, что есть разница в запуске sudo sh против sudo su - et c, но я не совсем понимаю.

Что мне нужно знать, так это как запустить скрипт после развертывания в правильной манере. Разве это не работает как надо root?

...