我有 1500 多个用户,并通过邮件和数据库向他们发送通知,每周使用 cron 和 supervisor 提醒他们一些事情。
我的队列配置:
'database' => [
'driver' => 'database',
'table' => 'jobs',
'queue' => 'default',
'retry_after' => 90,
],
Run Code Online (Sandbox Code Playgroud)
我的主管配置:
[program:run-cron]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/projectName/artisan queue:work database --sleep=3 --tries=3 --timeout=50 --queue=default,reminder
autostart=true
autorestart=true
user=www-data
numprocs=6
redirect_stderr=true
stdout_logfile=/var/www/html/projectName/storage/logs/supervisor.log
Run Code Online (Sandbox Code Playgroud)
通知代码:
class UserReminderNotification extends Notification implements ShouldQueue
{
use Queueable;
public $job,$days,$settings;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($data)
{
$this->queue="reminder";
$this->user = $data['user'];
}
/**
* Get the notification's delivery …Run Code Online (Sandbox Code Playgroud) laravel ×1