Selamlar,
Laravel Excel Paketini kullanıyorum. https://laravel-excel.com/
Import işlemlerinde 9000 satıra kadar zaman aşımına uğramadan işlemler tamamlanabiliyor. Ancak daha fazla satır olduğunda zaman aşımına uğruyor.
Queue (Kuyruk) Yöntemini kullanmak İstediğimde hata alıyorum ve işlem tamamlanamıyor.
Controller
` public function upload(Request $request)
{
Excel::import(new TempImport($request->all()), 'test.xls');
}`
TempImport
`class TempImport implements ToModel, WithHeadingRow, WithChunkReading, ShouldQueue
{
private $request;
public function __construct($request)
{
$this->request = $request;
}
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
$request = $this->request;
return new Temp([
'name' => $row['a'] ?? '',
'surname' => $row['b'] ?? '',
'gender' => $row['c'] ?? -1,
'birthdate' => $row['d'] ?? '',
'strasse' => $row['e'] ?? '',
'plz' => $row['f'] ?? '',
'ort' => $row['g'] ?? '',
'phone1' => $row['t'] ?? '',
'phone2' => $row['t2'] ?? '',
'email' => $row['email'] ?? '',
'data_id' => $request->data_id,
'process_level_id' => 1,
'data_source' => $request->source
]);
}
/**
* @inheritDoc
*/
public function chunkSize(): int
{
return 1000;
}
}`
Aldığım hata
Serialization of 'Illuminate\Http\UploadedFile' is not allowed
Kuyruk işlemleri sırasında bir hata alıyorum sanırım ancak paket kullanımındaki örnekten çokta farklı bir şey yapmadığımı düşünüyorum.
Excel::queueImport(new UsersImport, 'users.xlsx');
şeklinde de test ettim aynı hatayı alıyorum.
Dosya konumu doğrudan public klasörü altında olduğundan doğru olduğunu da belirtmek isterim.