Skip to content

Commit c8eadf7

Browse files
author
Daniel Neto
committed
Enhance logging and status observation in Encoder class; update status message format in index view
1 parent f762239 commit c8eadf7

File tree

2 files changed

+39
-21
lines changed

2 files changed

+39
-21
lines changed

objects/Encoder.php

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ public function save()
195195
*/
196196
$this->worker_pid = intval($this->worker_pid);
197197

198-
_error_log("Encoder::save id=(" . $this->getId() . ") title=(" . $this->getTitle() . ") streamers_id={$this->streamers_id} ");
198+
_error_log("Encoder::save id=(" . $this->getId() . ") title=(" . $this->getTitle() . ") streamers_id={$this->streamers_id} status_obs={$this->status_obs} ");
199199
return parent::save();
200200
}
201201

@@ -357,12 +357,13 @@ public function setStatus($status, $setStreamerLog = true)
357357

358358
public function setStatus_obs($status_obs)
359359
{
360-
if (empty($status_ob)) {
360+
if (empty($status_obs)) {
361361
return false;
362362
}
363363
_error_log("Encoder::setStatus_obs " . json_encode(debug_backtrace()));
364364
$old_status_obs = $this->status_obs;
365365
$this->status_obs = substr($status_obs, 0, 200);
366+
366367
if (!empty($this->id) && $old_status_obs !== $this->status_obs) {
367368
self::setStreamerLog($this->id, $this->status_obs, Encoder::LOG_TYPE_StatusObs);
368369
}
@@ -1330,7 +1331,7 @@ public static function run($try = 0)
13301331
$encoder = new Encoder($encoder->getId());
13311332
$return_vars = json_decode($encoder->getReturn_vars());
13321333
}
1333-
$encoder->setStatus_obs("Start in " . date("Y-m-d H:i:s"));
1334+
$encoder->setStatus_obs("Started at " . date("Y-m-d H:i:s"));
13341335
$encoder->save();
13351336
$objFile = static::downloadFile($encoder->getId());
13361337
if ($objFile->error && !self::canEncodeNow() && !self::canDownloadNow()) {
@@ -1853,14 +1854,21 @@ public static function sendFile($file, $return_vars, $format, Encoder $encoder =
18531854
self::setStreamerLog($encoder->getId(), __FUNCTION__, Encoder::LOG_TYPE_INFO);
18541855
$obj = self::sendToStreamer($target, $postFields, $return_vars, $encoder);
18551856
$obj->videoFileSize = humanFileSize(filesize($file));
1856-
//_error_log("AVideo-Streamer sendFile sendToStreamer done: " . json_encode($obj) );
1857+
_error_log("AVideo-Streamer sendFile sendToStreamer done: " . json_encode($obj) );
18571858
$obj->file = $file;
18581859

18591860
if (isset($u) && $u !== false && $obj->error == false) {
18601861
$u->setStatus(Encoder::STATUS_DONE);
18611862
$u->save();
18621863
} elseif ($obj->error) {
1863-
_error_log("AVideo-Streamer sendFile error: " . json_encode($postFields) . ' <=>' . json_encode(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)));
1864+
if(!empty($obj->response) && !empty($obj->response->msg) && !empty($encoder)){
1865+
$encoder->setStatus(Encoder::STATUS_ERROR);
1866+
$encoder->setStatus_obs($obj->response->msg);
1867+
$savedId = $encoder->save();
1868+
_error_log("AVideo-Streamer sendFile error: ". ' '. json_encode($obj->response->msg) . ' savedId=' . $savedId);
1869+
}else{
1870+
_error_log("AVideo-Streamer sendFile error error: " . json_encode($postFields) . ' <=>' . json_encode(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)). ' '. json_encode($obj) );
1871+
}
18641872
}
18651873
return $obj;
18661874
}

view/index.php

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444
<head>
4545
<?php
46-
include __DIR__.'/index.header.php';
46+
include __DIR__ . '/index.header.php';
4747
?>
4848
</head>
4949

@@ -785,26 +785,36 @@ function removeQueueItem(id) {
785785
return "Created: " + row.created + "<br>Modified: " + row.modified;
786786
},
787787
"status": function(column, row) {
788-
var btn = '<button class="btn btn-default" data-toggle="popover" title="<?php echo __('Details'); ?>" data-content="' + row.status_obs + '"><label class="glyphicon glyphicon-alert"></label></button> ';
789-
var label = "warning";
790-
if (row.status == "error") {
791-
label = "danger";
792-
} else
793-
if (row.status == "done") {
794-
label = "success";
795-
} else
796-
if (row.status == "queue") {
797-
label = "primary";
788+
let content = '';
789+
790+
// Define label class for status
791+
let labelClass = 'label-warning';
792+
if (row.status === "error") {
793+
labelClass = 'label-danger';
794+
} else if (row.status === "done") {
795+
labelClass = 'label-success';
796+
} else if (row.status === "queue") {
797+
labelClass = 'label-primary';
798+
} else if (row.status === "encoding") {
799+
labelClass = 'label-info';
800+
}
801+
802+
// Main status
803+
content += `<span class="label ${labelClass} text-uppercase"><i class="fa fa-cogs"></i> ${row.status}</span><br>`;
804+
805+
// ETA
806+
if (row.encoding_status && row.encoding_status.remainTimeHuman) {
807+
content += `<small><i class="fa fa-clock-o"></i> ETA: ${row.encoding_status.remainTimeHuman}</small><br>`;
798808
}
799-
var status = '<span class="label label-' + label + '">' + row.status + '</span>';
800809

801-
var remainTimeHuman = '';
802-
if (row.encoding_status.remainTimeHuman) {
803-
remainTimeHuman = '<span class="label label-default">ETA ' + row.encoding_status.remainTimeHuman + '</span>';
810+
// Status observation or error message
811+
if (row.status_obs) {
812+
content += `<small style="white-space: normal;"><i class="fa fa-info-circle"></i> ${row.status_obs}</small>`;
804813
}
805814

806-
return btn + status + "<br>" + row.status_obs + "<br>" + remainTimeHuman;
815+
return content;
807816
},
817+
808818
"title": function(column, row) {
809819
var l = getLocation(row.streamer);
810820
videos_id = 0;

0 commit comments

Comments
 (0)