queue work

This commit is contained in:
Mike Macgirvin 2023-02-13 21:51:17 +11:00
parent 37ba8eaf75
commit e8f9bd7628
4 changed files with 45 additions and 25 deletions

View file

@ -218,7 +218,10 @@ class Queue
dbesc($base) dbesc($base)
); );
if ($y) { if ($y) {
if (intval($y[0]['site_dead'])) { // Don't bother delivering if the site is dead.
// And if we haven't heard from the site in over a month - let them through but 3 strikes you're out.
if (intval($y[0]['site_dead']) || ($y[0]['site_update'] < datetime_convert('UTC', 'UTC', 'now - 1 month')
&& $outq['outq_priority'] > 20 )) {
q( q(
"update dreport set dreport_result = '%s' where dreport_queue = '%s'", "update dreport set dreport_result = '%s' where dreport_queue = '%s'",
dbesc('site dead'), dbesc('site dead'),
@ -229,16 +232,6 @@ class Queue
logger('dead site ignored ' . $base); logger('dead site ignored ' . $base);
return; return;
} }
if ($y[0]['site_update'] < datetime_convert('UTC', 'UTC', 'now - 1 month')) {
q(
"update dreport set dreport_log = '%s' where dreport_queue = '%s'",
dbesc('site deferred'),
dbesc($outq['outq_hash'])
);
self::update($outq['outq_hash'], 'Delivery deferred', 10);
logger('immediate delivery deferred for site ' . $base);
return;
}
} else { } else {
// zot sites should all have a site record, unless they've been dead for as long as // zot sites should all have a site record, unless they've been dead for as long as
// your site has existed. Since we don't know for sure what these sites are, // your site has existed. Since we don't know for sure what these sites are,

View file

@ -17,13 +17,13 @@ class Queue
$expert = 1; // ((array_key_exists('expert', $_REQUEST)) ? intval($_REQUEST['expert']) : 0); $expert = 1; // ((array_key_exists('expert', $_REQUEST)) ? intval($_REQUEST['expert']) : 0);
if ($_REQUEST['drophub']) { if ($_REQUEST['dropsite']) {
hubloc_mark_as_down($_REQUEST['drophub']); hubloc_mark_as_down($_REQUEST['dropsite']);
ZQueue::remove_by_posturl($_REQUEST['drophub']); ZQueue::remove_by_posturl($_REQUEST['dropsite']);
} }
if ($_REQUEST['emptyhub']) { if ($_REQUEST['emptysite']) {
ZQueue::remove_by_posturl($_REQUEST['emptyhub']); ZQueue::remove_by_posturl($_REQUEST['emptysite']);
} }
if ($_REQUEST['details']) { if ($_REQUEST['details']) {
@ -53,8 +53,8 @@ class Queue
'$numentries' => t('Total Entries'), '$numentries' => t('Total Entries'),
'$priority' => t('Priority'), '$priority' => t('Priority'),
'$desturl' => t('Destination URL'), '$desturl' => t('Destination URL'),
'$nukehub' => t('Mark hub permanently offline'), '$nukesite' => t('Mark site permanently offline'),
'$empty' => t('Empty queue for this hub'), '$empty' => t('Empty queue for this site'),
'$examine' => t('Examine delivery logs'), '$examine' => t('Examine delivery logs'),
'$lastconn' => t('Last known contact'), '$lastconn' => t('Last known contact'),
'$hasentries' => ((count($r)) ? true : false), '$hasentries' => ((count($r)) ? true : false),

View file

@ -156,10 +156,11 @@ class Help extends Controller
if ($file === '.' || $file === '..') { if ($file === '.' || $file === '..') {
continue; continue;
} }
if (is_dir($path . '/' . $file)) { $fileName = $path . '/' . $file;
$results = array_merge($results, self::listdir($path . '/' . $file)); if (is_dir($fileName)) {
$results = array_merge($results, self::listdir($fileName));
} else { } else {
$results[] = $path . '/' . $file; $results[] = $fileName;
} }
} }
closedir($handle); closedir($handle);

View file

@ -3,13 +3,39 @@
<div class="section-content-wrapper"> <div class="section-content-wrapper">
{{if $hasentries}} {{if $hasentries}}
<table cellpadding="10" id="admin-queue-table"><tr><td>{{$numentries}}&nbsp;&nbsp;</td><td>{{$desturl}}</td><td>{{$priority}}</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> <table id="admin-queue-table">
<tr>
<td>{{$numentries}}&nbsp;&nbsp;</td>
<td>{{$desturl}}</td>
<td>{{$priority}}</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
{{foreach $entries as $e}} {{foreach $entries as $e}}
<tr>
<tr><td>{{$e.total}}</td><td>{{$e.outq_posturl}}</td><td>{{$e.priority}}</td><td></td>{{if $expert}}<td><td><a href="admin/queue?f=&details={{$e.eurl}}" title="{{$examine}}" class="btn btn-outline-secondary"><i class="fa fa-eye"></i></a></td><td><a href="admin/queue?f=&drophub={{$e.eurl}}" title="{{$nukehub}}" class="btn btn-outline-secondary"><i class="fa fa-crosshairs"></i></a></td><td><a href="admin/queue?f=&emptyhub={{$e.eurl}}" title="{{$empty}}" class="btn btn-outline-secondary"><i class="fa fa-trash-o"></i></a></td>{{/if}}</tr> <td>{{$e.total}}</td>
<td>{{$e.outq_posturl}}</td>
<td>{{$e.priority}}</td>
<td></td>
{{if $expert}}
<td><a href="admin/queue?f=&details={{$e.eurl}}" title="{{$examine}}" class="btn btn-outline-secondary">
<i class="fa fa-eye"></i>
</a>
</td>
<td><a href="admin/queue?f=&dropsite={{$e.eurl}}" title="{{$nukesite}}" class="btn btn-outline-secondary">
<i class="fa fa-crosshairs"></i>
</a>
</td>
<td><a href="admin/queue?f=&emptysite={{$e.eurl}}" title="{{$empty}}" class="btn btn-outline-secondary">
<i class="fa fa-trash-o"></i>
</a>
</td>
{{/if}}
</tr>
{{/foreach}} {{/foreach}}
</table> </table>
{{/if}} {{/if}}