record task duration in seconds

This commit is contained in:
Andrew Dolgov
2025-05-02 10:23:30 +03:00
parent 6a40940ad6
commit a268f52de6
3 changed files with 7 additions and 1 deletions

View File

@@ -968,12 +968,15 @@ class PluginHost {
if ($task['cron']->isDue($last_run)) {
Debug::log("Task $task_name is due, executing...");
$task_started = time();
$rc = (int) $task['callback']();
$task_duration = time() - $task_started;
Debug::log("Task $task_name has finished with RC=$rc, recording timestamp...");
Debug::log("Task $task_name has finished in $task_duration seconds with RC=$rc, recording timestamp...");
if ($task_record) {
$task_record->last_run = time();
$task_record->last_duration = $task_duration;
$task_record->last_rc = $rc;
$task_record->save();
@@ -982,6 +985,7 @@ class PluginHost {
$task_record->set([
'task_name' => $task_name,
'last_duration' => $task_duration,
'last_rc' => $rc,
'last_run' => Db::NOW(),
]);

View File

@@ -1,5 +1,6 @@
create table ttrss_scheduled_tasks(
id serial not null primary key,
task_name varchar(250) unique not null,
last_duration integer not null,
last_rc integer not null,
last_run timestamp not null default NOW());

View File

@@ -398,6 +398,7 @@ create table ttrss_error_log(
create table ttrss_scheduled_tasks(
id serial not null primary key,
task_name varchar(250) unique not null,
last_duration integer not null,
last_rc integer not null,
last_run timestamp not null default NOW());