这是我的场景:我有一个Laravel排队的jod,这里是句柄方法内容:
$invoiceContract = app('AsteBolaffi\Repositories\Backend\Invoice\InvoiceContract');
$error = $invoiceContract->recordInvoice($this->invoiceId);
d($error);
if (!empty($error) && !empty($this->userEmail)) {
$userEmail = $this->userEmail;
$invoice = $invoiceContract->findOrThrowException($this->invoiceId);
$invoice->load('customer');
d("Going to send mail to " . $userEmail);
d($error);
d($invoice->customer->business_name);
$data["error"] = $error;
$data["business_name"] = $invoice->customer->business_name;
$data["document_number"] = $invoice->document_number;
d($data);
\Mail::queueOn('mail', "emails.record_invoice", $data, function ($message) use ($userEmail) {
$message->from('admin@astebolaffi.it', 'AsteBolaffi');
$message->to($userEmail);
$message->subject('Errori contabilizzazione fattura');
d("HERE I AM");
});
d("Completed");
}
return;
如果recordInvoice方法返回一个值(例如" Item not found"),则if子句得到满足并且必须添加一个邮件队列。但是,不会在db上创建邮件队列,即使控制台打印出最后一个d方法值("已完成"),也不会删除当前作业。 如果recordInvoice没有返回任何错误,则删除该作业。
无意义的事情(至少对我而言)
如果我对recordInvoice方法发表评论并将值设置为error,例如:
$error = "test";
它正常工作,添加邮件队列并删除当前邮件队列。
关于它的任何提示?
答案 0 :(得分:0)
我不知道为什么,但是将项目从php 5.6移到7.0它可以正常工作。