Добрый день всем. У меня есть эта постоянная проблема с laravel приложением, которое я создал. Я хочу отправлять массовые электронные письма подписчикам. Я хочу поставить в очередь электронные письма (задания), чтобы они не замедляли мое приложение. Я использую общий хостинг. Без процесса очереди почта работает нормально. Однако без него они не работают. Я использую базу данных в качестве соединения с очередью, и в моей базе данных настроена таблица «заданий». Я предполагаю, что до этого момента все работало на отлично, потому что каждый раз, когда я отправляю почту, я вижу работы в базе данных. Проблема в том, что я не могу сделать команду queue: work на общем хостинге в отличие от моей системы (локально).
Кроме того, я создал команду, используя php artisan make:command cronEmail
, и внутри App / Console / Ядро. php, я настроил метод расписания следующим образом
protected function schedule(Schedule $schedule)
{
$schedule->command('queue:work --tries=3')
->cron('* * * * * *')
->withoutOverlapping();
}
Затем я создал задачу cron на своей cpanel следующим образом:
php /home/myrootfolder/mywebsitefolder/artisan queue:work >> /dev/null 2>&1
Тем не менее, я все еще не получил никакого результата. Письма не отправляются.
Файлы моего сайта настроены следующим образом: Внутри папки root cpanel я создал новую папку " mywebsitefolder ", куда я помещаю все мои laravel файлы, кроме папки publi c. Содержимое папки publi c находится внутри папки root public_ html. Затем я отредактировал свой индекс. php соответственно. Это показано ниже:
require __DIR__.'/../mywebsitefolder/vendor/autoload.php';
$app = require_once __DIR__.'/../mywebsitefolder/bootstrap/app.php';
Так может ли быть, что я неправильно указываю на своего "ремесленника" или я все неправильно понимаю? Пожалуйста, если кто-нибудь знает лучший способ сделать это или где я все неправильно понимаю, я буду рад. Заранее спасибо.