Laravel Job不会在处理后删除

时间:2017-06-14 15:17:22

标签: php laravel email jobs

这是我的场景:我有一个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";

它正常工作,添加邮件队列并删除当前邮件队列。

关于它的任何提示?

1 个答案:

答案 0 :(得分:0)

我不知道为什么,但是将项目从php 5.6移到7.0它可以正常工作。