From aba8a19d75674e93feede67fed8f32699ff89456 Mon Sep 17 00:00:00 2001 From: dongpd Date: Tue, 19 Jul 2022 16:33:56 +0700 Subject: [PATCH] update solution to resset auto sync flag --- controllers/ApiController.php | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/controllers/ApiController.php b/controllers/ApiController.php index 7789a5ca..5af3f97c 100644 --- a/controllers/ApiController.php +++ b/controllers/ApiController.php @@ -490,6 +490,7 @@ class ApiController extends Controller { } public function actionReGenFeature() { + \app\models\SyncUrl::deleteAll(['key_config' => 'log_process_status']); $updating = \app\models\SyncUrl::findOne(['key_config' => 'updating']); if (!$updating) { $model = new \app\models\SyncUrl(); @@ -519,15 +520,18 @@ class ApiController extends Controller { $logProcessStatus = \app\models\SyncUrl::findOne(['key_config' => 'log_process_status']); if (!$logProcessStatus) { $model = new \app\models\SyncUrl(); - $model->create(['key_config' => 'log_process_status', 'data' => "true"]); + $model->create(['key_config' => 'log_process_status', 'data' => json_encode(["status" => true, "time" => time()])]); $logProcessStatus = \app\models\SyncUrl::findOne(['key_config' => 'log_process_status']); } else { - if ($logProcessStatus->data == "true") { - if (Yii::$app->params['autoSyncLog']) - file_put_contents("logs.txt", "CHECK LOGS PROCESSING\n", FILE_APPEND); - return ["data" => "check logs processing"]; + $processStatus = json_decode($logProcessStatus->data, true); + if ($processStatus['status']) { + if (time() - $processStatus['time'] < 60 * 3) { + if (Yii::$app->params['autoSyncLog']) + file_put_contents("logs.txt", "CHECK LOGS PROCESSING\n", FILE_APPEND); + return ["data" => "check logs processing"]; + } } else { - $logProcessStatus->data = "true"; + $logProcessStatus->data = json_encode(["status" => true, "time" => time()]); $logProcessStatus->save(); } } @@ -599,7 +603,7 @@ class ApiController extends Controller { ]; } } - if (count($infomation) > 0) + if (count($infomation) > 0 || count($fault_information) > 0) file_get_contents($ip . "/api/model/set_log_model", false, stream_context_create([ 'http' => [ 'header' => "Content-Type: application/json", @@ -612,7 +616,7 @@ class ApiController extends Controller { ])); @file_get_contents("http://localhost:2305/update-feature?total=" . ListManagement::find()->count()); } - $logProcessStatus->data = "false"; + $logProcessStatus->data = json_encode(["status" => false, "time" => time()]); $logProcessStatus->save(); return ["data" => "check logs"]; }