diff --git a/app/Jobs/WowaJob.php b/app/Jobs/WowaJob.php index 576ed6e4cb43aa11d9593100c6db9315ada3b15a..2b095d23f175a7c1fcb5a8060bb0478cbe4431ef 100644 --- a/app/Jobs/WowaJob.php +++ b/app/Jobs/WowaJob.php @@ -66,12 +66,15 @@ class WowaJob implements ShouldQueue $processor = new LogProcessor(); $processor->setJobId($this->wowa->id); $logg->pushProcessor($processor); - $logg->info("Begin find all related evidences"); try { - Feedback::chunk(100, function ($feedbacks) { + $cnt = 0; + $this->wowa->status = Wowa::STATE_COLLECTION; + $this->wowa->save(); + Feedback::chunk(100, function ($feedbacks) use ($cnt) { foreach ($feedbacks as $feed) { + $cnt++; $evidence_references = $feed->report()->references; $this->is_true_alert[] = $feed->is_true_alert; $scores_references = []; @@ -79,6 +82,7 @@ class WowaJob implements ShouldQueue $scores_references[] = Mark::get()->findEvidenceById($evidence_reference)->score; } $this->evidences[] = $scores_references; + \Log::info($cnt . " | Evidences collection"); } }); } catch (\Exception $e) { @@ -86,7 +90,6 @@ class WowaJob implements ShouldQueue $logg->error("Error during retrieving evidences"); $this->wowa->save(); } - $training_prameters = new TrainerParameters( $logg, $this->wowa->population, @@ -97,6 +100,8 @@ class WowaJob implements ShouldQueue TrainerParameters::INITIAL_POPULATION_GENERATION_RANDOM ); $trainer = new Trainer($training_prameters, new SolutionDistance(count($this->evidences[0]))); + $this->wowa->status = Wowa::STATE_RUNNING; + $this->wowa->save(); try { $solution = $trainer->run($this->evidences, $this->is_true_alert); } catch (\Exception $e) { diff --git a/app/Log.php b/app/Log.php index 87796c6d7236c7f5806e49b21aa93a0642a4f61e..226b4bb4a566fe1afb0e817d699304bb7edad36c 100644 --- a/app/Log.php +++ b/app/Log.php @@ -18,8 +18,15 @@ class Log extends Model if (!is_object($logs)) { return "Calculation in progress..."; } - $generation = $logs->generation + 1; + if ($wowa->status == Wowa::STATE_COLLECTION) { + $result = 'Evidences collection : '; + } elseif ($wowa->status == Wowa::STATE_RUNNING) { + $result = 'Training : '; + } else { + $result = 'Error'; + } + $progression = $logs->progression + 1; $generation_number = $wowa->generation_number; - return ($generation / $generation_number) * 100; + return $result . (($progression / $generation_number) * 100); } } diff --git a/app/Logging/LogFormatter.php b/app/Logging/LogFormatter.php index e595b3f1dead2586fbf6f44de22d3438c4d037a9..e37fcde600c6c2393200ee9056540041a218b0bf 100644 --- a/app/Logging/LogFormatter.php +++ b/app/Logging/LogFormatter.php @@ -23,8 +23,8 @@ class LogFormatter extends NormalizerFormatter $el = $record['extra']; $el['level'] = strtolower($record['level_name']); $el['message'] = $record['message']; - $generation = substr($record['message'], 0, strpos($record['message'], ' | Fitness')); - $el['generation'] = (int)$generation; + $progression = substr($record['message'], 0, strpos($record['message'], ' | ')); + $el['progression'] = (int)$progression; return $el; } diff --git a/app/Wowa.php b/app/Wowa.php index 82ab84828d4f662e59d3c7cb6503022e2d83a1ca..9bf2f2d92b19e5edf4c3ba17a6d776711cdaa10c 100644 --- a/app/Wowa.php +++ b/app/Wowa.php @@ -8,6 +8,7 @@ class Wowa extends Model { const STATE_CREATED = "CREATED"; const STATE_QUEUED = "QUEUED"; + const STATE_COLLECTION = "DATA COLLECTION"; const STATE_RUNNING = "RUNNING"; const STATE_SUCCESS = "SUCCESS"; const STATE_FAILED = "FAILED"; @@ -15,7 +16,8 @@ class Wowa extends Model public static $status_classes = [ self::STATE_SUCCESS => "btn-success", self::STATE_FAILED => "btn-danger", - self::STATE_RUNNING => "btn-warning" + self::STATE_RUNNING => "btn-warning", + self::STATE_COLLECTION => "btn-warning" ]; diff --git a/database/migrations/2021_05_06_075557_create_logs_table.php b/database/migrations/2021_05_06_075557_create_logs_table.php index 9736dea60b216ab2af536684a100171052164956..9a44113b9ffb041202f7a13bd84158f71f027319 100644 --- a/database/migrations/2021_05_06_075557_create_logs_table.php +++ b/database/migrations/2021_05_06_075557_create_logs_table.php @@ -17,7 +17,7 @@ class CreateLogsTable extends Migration $table->id(); $table->timestamps(); $table->enum('level', ['emergency', 'alert', 'critical', 'error', 'warning', 'notice', 'info', 'debug']); - $table->integer('generation')->nullable(); + $table->integer('progression')->nullable(); $table->text('message')->nullable(); $table->text('user_id')->nullable(); $table->integer('job_id')->nullable();