CHNAGE_JOB_FAILED_CAPTURED&FILE_STATUS_UPDATED
This commit is contained in:
parent
2cf9201337
commit
b8df71c1a0
@ -6,6 +6,7 @@ namespace App\Controllers;
|
||||
|
||||
|
||||
use App\Models\JobModel;
|
||||
use App\Models\FileModel;
|
||||
class JobWorker extends AdminController
|
||||
{
|
||||
const STATUS_DONE = 'done';
|
||||
@ -287,23 +288,24 @@ class JobWorker extends AdminController
|
||||
try
|
||||
{
|
||||
$response = $jobHandler($payload,$job->id);
|
||||
$job_status = self::STATUS_DONE;
|
||||
}
|
||||
catch(\Exception $e)
|
||||
{
|
||||
$job_status = self::STATUS_FAILED;
|
||||
$runtime = $runtime === null ? microtime(true) - $start : $runtime;
|
||||
$response = ['file_name' => $e->getFile(),'error' => $e->getMessage(),'line_no' => $e->getLine(),'info' => $e->getTraceAsString()];
|
||||
$response = ['file_name' => $e->getFile(),'error' => $e->getMessage(),'line_no' => $e->getLine(),'info' => $e->getTraceAsString(),'scope' => 'task failed'];
|
||||
}
|
||||
|
||||
$runtime = microtime(true) - $start;
|
||||
$job_status = self::STATUS_DONE;
|
||||
|
||||
}
|
||||
catch (\Exception $e)
|
||||
{
|
||||
//die();
|
||||
$job_status = self::STATUS_FAILED;
|
||||
$runtime = $runtime === null ? microtime(true) - $start : $runtime;
|
||||
$response = ['file_name' => $e->getFile(),'error' => $e->getMessage(),'line_no' => $e->getLine(),'info' => $e->getTraceAsString()];
|
||||
$response = ['file_name' => $e->getFile(),'error' => $e->getMessage(),'line_no' => $e->getLine(),'info' => $e->getTraceAsString(),'scope' => 'worker failed'];
|
||||
}
|
||||
|
||||
$db->query("UPDATE jobs SET status=?, run_time=?, response=? WHERE id=? AND uuid=?", [
|
||||
@ -313,6 +315,21 @@ class JobWorker extends AdminController
|
||||
$job->id,$job->uuid
|
||||
]);
|
||||
|
||||
//update file status if this job is directly linked with a file id
|
||||
|
||||
if($job_status == self::STATUS_FAILED)
|
||||
{
|
||||
//get file from job payload
|
||||
if(array_key_exists('file_id', $payload) && $payload['file_id'] != NULL && $payload['file_id'] != "" && is_numeric($payload['file_id']) && count($payload) == 1)
|
||||
{
|
||||
$fileModel = new FileModel();
|
||||
$fileModel->where('id', $payload['file_id'])
|
||||
->set(['status' => 'failed','reason' => json_encode(['error_type' => 0,'error_summary' => [0],'error_data' => 'System Error, please contact Admin/Support team']) ])
|
||||
->update();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// echo "Job $job->id $job_status. Response - $response \n";
|
||||
// echo "Job $job->id $job_status \n";
|
||||
SELF::streamOutput("Job $job->id $job_status \n");
|
||||
|
||||
@ -476,6 +476,10 @@ function fetchFileError(file_id) {
|
||||
var err_id = parseInt(key);
|
||||
var err_count = file_error_data['error_summary'][key];
|
||||
switch (err_id) {
|
||||
case 0:
|
||||
file_error_html +=
|
||||
"<strong>"+file_error_data['error_data']+"</strong>";
|
||||
break;
|
||||
case 1:
|
||||
file_error_html +=
|
||||
"<strong>Mandatory values missing</strong> <span class='badge badge-danger float-right'>" +
|
||||
@ -562,7 +566,7 @@ function fetchFileError(file_id) {
|
||||
// console.log('file_error_html_2', file_error_html)
|
||||
|
||||
}
|
||||
if (err_id != 5 && err_id != 6) {
|
||||
if (err_id != 5 && err_id != 6 && err_id != 0) {
|
||||
file_error_html += (file_error_html != "" ?
|
||||
"<a href ='<?php echo base_url()?>" +
|
||||
"employee/excel_error/" + file_id +
|
||||
|
||||
Loading…
Reference in New Issue
Block a user