我正在尝试使用作业进行海量数据上传...这个想法是使用作业将excel工作表一张一张地发送到Web服务,该服务负责向DB中插入数据。这是我的工作代码:
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Facades\ {
App\Api\Insert
};
class uploadHoja implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
private $hojas;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($hojas)
{
$this->hojas = $hojas;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$hojas = $this->hojas;
foreach ($hojas as $key => $value) {
$respuesta = Insert::insertData($value);
$response = json_decode($response,true);
dd($response);
#if ($response["msg"] != 0) break;
}
}
}
插入它是webservice类的外观,该类中的每个函数都可以正常工作(我已经测试了每个函数),但是由于某种原因,该作业的handle方法失败,并且当我键入“ php artisan queue:工作” ...它只是循环“处理中:App \ Jobs \ uploadHoja” ...直到我手动结束该过程。有什么帮助吗?谢谢您的宝贵时间。