Сразу предупреждаю, я знаю, что на эту тему есть много тем. Однако большинство этих тем относятся к 2014 и 2015 годам, когда еще существовал тег --daemon. Есть также некоторые темы 2017 года, которые не полностью объясняют, как сделать все правильно.
Я в контролере отправляю job (драйвер database и таблица jobs (по умолчанию которая))
SendMail::dispatch($supervisorEmail,$project,$candidate);
Вот сам мой SendMail job
class SendMail implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $supervisorEmail;
public $project;
public $candidate;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($supervisorEmail,$project,$candidate)
{
$this->supervisorEmail = $supervisorEmail;
$this->project = $project;
$this->candidate = $candidate;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
Mail::to($this->supervisorEmail)->send(new CandidateOrderMail($this->project,$this->candidate));
}
}
У меня есть только SSH-консоль в пользовании. Заказчик на своем сервере мне выделил отдельную папку (не root-права), поэтому я не могу Supervisord поставить (ему по барабану, как это реализуется, он не дает мне root-права ツ)
Обшарив весь русо-англоязычный интернет, я нашел лишь два более менее понятных и вроде рабочих решений (не пробовал пока еще). Да, есть еще некоторые темы 2017 года в англ. интернете, где поднимался этот вопрос, однако там используется --daemon, который как бы устарел еще в 2015 году. Ребята, выручайте, одним словом.
Два метода этих:
/usr/local/bin/php /home/electro/public_html/artisan queue:work( this is writing to the command line, right)?
nohup php artisan queue:work --daemon &
Что мне использовать из этого? Я просто думаю, если запущу, то откатить назад на сервере будет еще та головная боль.
Желательно, чтобы еще все работало, если сервер перезапустится (или там какая-то ошибка случится)
Желательно, чтобы еще все работало, если сервер перезапустится (или там какая-то ошибка случится)
К сожалению, если нет менеджеров процессов (тот же супервизор), то очередь не надо делать.
Я запускал на shared хостинге очередь при помощи крона, своего .pid
файла очереди и --once
параметра очереди, но такая реализация - это костыль, который ломается при перезапуске сервака (к счастью на shared хостинге серваки не часто перезагружают).
Если интересно, можешь спросить в личку
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Уважаемые программисты, при использовании кода неккоректно добавляются изображения в БДДанный код загружает без проблем файлы на сервер,...
Как сделать групировку datagrid? Мне надо групировка по одному столбцуВот мой DataGrid:
Не знаю в чем может быть проблемаВ верности почт и пароля я уверен