task = $task; $this->export_handle = $handle; } /** * Execute the job. * * @return void */ public function handle() { $task_model = $this->task->getModel(); $this->task->setStatus(AbstractExportTask::running); $data = $this->export_handle->getExportData(); $headers = $this->export_handle->getHeaders(); $file_name = md5($task_model->id . strtotime($task_model->created_at)) . ".csv"; $local_path = storage_path('tmp'); ExcelHelper::saveFileCsv($headers, $data, $file_name, $local_path); $oss_service = new AliOSSHelper; $oss_path = $oss_service->uploadFile("reports", $local_path); unlink($local_path . '/' . $file_name); if ($oss_path) { $task_model->file_path = $oss_path; $this->task->setModel($task_model); $this->task->setStatus(AbstractExportTask::complete); } else { $this->task->setStatus(AbstractExportTask::failure); } $task_model->save(); } }