Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我在使用队列和调度程序发送邮件时遇到问题_Php_Laravel_Task Queue - Fatal编程技术网

Php 我在使用队列和调度程序发送邮件时遇到问题

Php 我在使用队列和调度程序发送邮件时遇到问题,php,laravel,task-queue,Php,Laravel,Task Queue,我正在使用laravel,我需要发送邮件。我配置了cron作业和调度程序,但我有一个特殊的问题 我可以看到我的任务正在进入jobs表。但是,当通过cron job and scheduler执行队列:work时,jobs表为空,失败的jobs表也为空,我没有收到任何电子邮件 我的cron作业命令: usr/local/phpcron/Isphplaravel73 / LaravelApp-path/artisan schedule:run >>/dev/null 2>&

我正在使用laravel,我需要发送邮件。我配置了cron作业和调度程序,但我有一个特殊的问题

我可以看到我的任务正在进入jobs表。但是,当通过cron job and scheduler执行
队列:work
时,jobs表为空,失败的jobs表也为空,我没有收到任何电子邮件

我的cron作业命令:

usr/local/phpcron/Isphplaravel73 / LaravelApp-path/artisan schedule:run >>/dev/null 2>&1
app/console/kernel.php:

    Protected function schedule(Schedule $schedule)
{
    $this->command('queue:work')->withoutOverlapping() ;
}

谢谢您的帮助。

您必须运行Laravel schedule:每分钟运行一次命令,将使用以下方法

1。将cronjob放入Linux中

要编辑或创建crontab文件,请在UNIX/Linux shell提示符下键入以下命令:

$crontab-e

然后在crontab中编写Laravel命令

***usr/local/phpcron/ispplaravel73/laravelap路径/artisan计划:运行>>/dev/null 2>&1

2。将cronjob放入您的cPanel共享主机中 在这一步中,我们必须定义cPanel cronjob,以便在每分钟运行我们的laravel计划。为此,请登录cPanel并转到cronjobs选项,然后创建一个新的cronjob,如下所示。 从“常用设置”下拉框中选择“每分钟一次”选项。
  • 在命令文本框中按照此格式输入值。
  • 格式:
    /usr/local/bin/php/home/hosting\u user\u name/your\u artisan\u file\u路径计划:将命令输入命令文本后运行>/dev/null 2><1
  • 框中,单击添加新Cron作业按钮。
  • 如果仍不工作,请在每次作业运行时检查作业输出

    Protected function schedule(Schedule $schedule)
    {
        $this->command('queue:work')->withoutOverlapping()->sendOutputTo($filePath) ;
    }
    

    sendOutputTo
    larvel方法,用于在文件中获取输出

    您的服务器使用的是linix或Windows操作系统我使用的是linux服务器您使用的是什么?将邮件发送到什么地址。。。这是可能的,如果它是去一个网络邮件,它是在垃圾邮件文件夹或被完全拒绝我使用自己的主机邮件服务器。我有个问题。在什么情况下它被完全拒绝了?@DieHard检查我的更新答案,但我使用的是共享主机,所以我没有访问SSHI的权限,但没有发送电子邮件。falied_jobs表上没有任何内容,但日志文件中写着:[2020-09-13 15:29:29][50]失败:JobClassName确定请在您的问题中提及整个日志详细信息[2020-09-13 17:49:47][53]处理:App\Jobs\VerificationAdmin[2020-09-13 17:49:47][53]处理:App\Jobs\VerificationAdmin[2020-09-13 17:49:47][54]处理:App\Mail\VerificationAdmin[2020-09-13 17:50:17][54]失败:App\Mail\VerificationAdmin@Artier