Laravel Queue, выполняющая задачу Envoy, непоследовательна при развертывании

Я создаю сайт, который использует посланника laravel для запуска команд на удаленном сервере. При нажатии кнопки для запуска задачи она добавляется в очередь (я использую redis и horizon), чтобы она обрабатывалась в фоновом режиме и вообще не замедляла работу сайта. Изначально у меня были проблемы с доступом по ssh и открытыми ключами, но теперь они отсортированы, но осталась одна проблема — несоответствие, с которым выполняются задания.

Позвольте мне начать с того, что это не проблема для моего MacBook Pro, и каждый раз он работает надежно. Иногда на моем Debian VPS, как правило, примерно 1 к 5 раз, он будет работать нормально, но в других случаях он вообще не будет запускать скрипт. Я проверяю в горизонте, и задание определенно отправляется правильно каждый раз, но задание, которое должно занять около 40 секунд, завершается менее чем за секунду, и я ничего не вижу в своем выводе (у меня есть система отслеживания заданий, чтобы пользователь мог видеть их состояние и журнал после его запуска).

Код, который я использую для запуска задачи посланника:

exec('cd ' . base_path() . ' && /home/admin/.composer/vendor/bin/envoy run ' . $this->task . $this->query, $this->result);

$this->result используется для хранения результатов задания посланника и возвращается полностью пустым, если задание выполняется неправильно.

Еще один это то, что я попробовал это просто работает exec('whoami') и ничего не получил обратно. На тех, где он работал правильно я получил root,

У меня была мысль, что, возможно, разные работники очереди используют разных системных пользователей и, следовательно, разные открытые ключи, чтобы попытаться подключиться, но я не могу найти какую-либо информацию, подтверждающую это, но это объяснило бы ее нерегулярность.

Любое понимание или помощь будет высоко ценится!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]