簡體   English   中英

Laravel 5.3隊列在共享主機中不起作用

[英]Laravel 5.3 Queues not working in shared hosting

在我的Laravel 5.3。*應用程序中,我在后台運行隊列。 在我的本地計算機上,這完全可以正常工作。 但是,當在服務器(共享主機)上啟用此功能時,它根本不起作用。

這是場景:

  1. 管理員正在提交管理員生成器表單數據。

  2. 數據正在插入數據庫中。

  3. 拍攝一封與此相同的電子郵件。

因此,為了使此功能順利進行,我在服務器的cPanel上創建了一個cron作業。

這是cron工作:

/usr/local/bin/php /home/<username>/laravel-app/artisan schedule:run >/dev/null 2>&1

這是app/Console/Kernel.php文件的內容

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{
    // $schedule->command('inspire')
    //          ->hourly();

    $schedule->command('queue:work --daemon --tries=3')
             ->everyMinute()
             ->withoutOverlapping();
}

我還通過運行創建了作業數據庫

php artisan queue:table;
php artisan queue:failed-table;
php artisan migrate;

生成/插入管理員后,將觸發一個事件:

event(new AdministratorHasBeenGenerated($user, $request->password));

它將向您提供的電子郵件ID發送歡迎電子郵件(在app/Listeners/AdministratorHasBeenGenerated/SendWelcomeEmail.php

/**
 * Handle the event.
 *
 * @param  AdministratorHasBeenGenerated  $event
 * @return void
 */
public function handle(AdministratorHasBeenGenerated $event)
{
    Mail::to($event->administrator->email)
          ->queue(new GeneratedMail($event->administrator, $event->password));
}

這是.env文件中的郵件配置

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=correct_username
MAIL_PASSWORD=correct_password
MAIL_ENCRYPTION=null

我沒有收到任何錯誤或類似信息,但是即使我提供了正確的電子郵件ID,也沒有收到任何歡迎電子郵件。


更新1:2017年12月21日

只是一種解決方法,因為我找不到該問題的實際解決方案。 我所做的是我創建了另一個僅用於運行隊列的cron作業。

/usr/local/bin/php /home/<username>/laravel-app/artisan queue:work --daemon --tries=3 >/dev/null 2>&1

這將觸發命令queue:work每分鍾(或您在cPanel的cron作業標簽中設置的任何內容)。

我想以上解決方案是不正確的。更歡迎進行更正/修正。


有人能指出我必須在哪里做的錯誤嗎? 已經超過4個小時了,我找不到任何解決方案。

非常感謝您的幫助。 謝謝。

您應該將cron編輯成這樣

* * * * * /usr/local/bin/php /home/<username>/laravel-app/artisan schedule:run >/dev/null 2>&1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM