]> git.mxchange.org Git - friendica.git/blobdiff - mod/admin.php
Add worker queue details (#5375)
[friendica.git] / mod / admin.php
index 30aeb27f5320c0f1d6bdec32741c4030fcea36ec..54b7e6504e35f220a8d93b24a80cc9df129a287a 100644 (file)
@@ -189,7 +189,8 @@ function admin_content(App $a)
                        'tos'          => ["admin/tos/"         , L10n::t("Terms of Service")     , "tos"] ]],
                'database' => [ L10n::t('Database'), [
                        'dbsync'       => ["admin/dbsync/"      , L10n::t('DB updates')           , "dbsync"],
-                       'queue'        => ["admin/queue/"       , L10n::t('Inspect Queue')        , "queue"], ]],
+                       'queue'        => ["admin/queue/"       , L10n::t('Inspect Queue')        , "queue"],
+                       'workerqueue'  => ["admin/workerqueue/" , L10n::t('Inspect worker Queue') , "workerqueue"] ]],
                'tools' => [ L10n::t('Tools'), [
                        'contactblock' => ["admin/contactblock/", L10n::t('Contact Blocklist')    , "contactblock"],
                        'blocklist'    => ["admin/blocklist/"   , L10n::t('Server Blocklist')     , "blocklist"],
@@ -258,6 +259,9 @@ function admin_content(App $a)
                        case 'queue':
                                $o = admin_page_queue($a);
                                break;
+                       case 'workerqueue':
+                               $o = admin_page_workerqueue($a);
+                               break;
                        case 'federation':
                                $o = admin_page_federation($a);
                                break;
@@ -729,7 +733,7 @@ function admin_page_federation(App $a)
  * @brief Admin Inspect Queue Page
  *
  * Generates a page for the admin to have a look into the current queue of
- * postings that are not deliverabke. Shown are the name and url of the
+ * postings that are not deliverable. Shown are the name and url of the
  * recipient, the delivery network and the dates when the posting was generated
  * and the last time tried to deliver the posting.
  *
@@ -762,6 +766,37 @@ function admin_page_queue(App $a)
        ]);
 }
 
+/**
+ * @brief Admin Inspect Worker Queue Page
+ *
+ * Generates a page for the admin to have a look into the current queue of
+ * worker jobs. Shown are the parameters for the job and its priority.
+ *
+ * The returned string holds the content of the page.
+ *
+ * @param App $a
+ * @return string
+ */
+function admin_page_workerqueue(App $a)
+{
+       // get jobs from the workerqueue table
+       $statement = dba::select('workerqueue', ['id', 'parameter', 'created', 'priority'], ['done' => 0], ['order'=> ['priority']]);
+       $r = dba::inArray($statement);
+
+       $t = get_markup_template('admin/workerqueue.tpl');
+       return replace_macros($t, [
+               '$title' => L10n::t('Administration'),
+               '$page' => L10n::t('Inspect Worker Queue'),
+               '$count' => count($r),
+               '$id_header' => L10n::t('ID'),
+               '$param_header' => L10n::t('Job Parameters'),
+               '$created_header' => L10n::t('Created'),
+               '$prio_header' => L10n::t('Priority'),
+               '$info' => L10n::t('This page lists the currently queued worker jobs. These jobs are handled by the worker cronjob you\'ve set up during install.'),
+               '$entries' => $r,
+       ]);
+}
+
 /**
  * @brief Admin Summary Page
  *