diff options
Diffstat (limited to 'include/queue.php')
-rw-r--r-- | include/queue.php | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/include/queue.php b/include/queue.php index 239d61fc0..222ebada4 100644 --- a/include/queue.php +++ b/include/queue.php @@ -38,7 +38,7 @@ function queue_run($argv, $argc){ // The zot driver will deliver everything destined for a single hub once contact is made (*if* contact is made). // Other drivers will have to do something different here and may need their own query. - $r = q("SELECT * FROM outq WHERE outq_delivered = 0 and (( outq_created > UTC_TIMESTAMP() - INTERVAL 12 HOUR and outq_updated < UTC_TIMESTAMP() - INTERVAL 15 MINUTE ) OR ( outq_updated < UTC_TIMESTAMP() - INTERVAL 1 HOUR )) and outq_driver in ('','zot') group by outq_posturl"); + $r = q("SELECT * FROM outq WHERE outq_delivered = 0 and (( outq_created > UTC_TIMESTAMP() - INTERVAL 12 HOUR and outq_updated < UTC_TIMESTAMP() - INTERVAL 15 MINUTE ) OR ( outq_updated < UTC_TIMESTAMP() - INTERVAL 1 HOUR )) group by outq_posturl"); } if(! $r) return; @@ -46,6 +46,24 @@ function queue_run($argv, $argc){ foreach($r as $rr) { if(in_array($rr['outq_posturl'],$deadguys)) continue; + + if($rr['outq_driver'] === 'post') { + $result = z_post_url($rr['outq_posturl'],$rr['outq_msg']); + if($result['success'] && $result['return_code'] < 300) { + logger('queue: queue post success to ' . $rr['outq_posturl'], LOGGER_DEBUG); + $y = q("delete from outq where outq_hash = '%s' limit 1", + dbesc($rr['ouq_hash']) + ); + } + else { + logger('queue: queue post returned ' . $result['return_code'] . ' from ' . $rr['outq_posturl'],LOGGER_DEBUG); + $y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1", + dbesc(datetime_convert()), + dbesc($rr['outq_hash']) + ); + } + continue; + } $result = zot_zot($rr['outq_posturl'],$rr['outq_notify']); if($result['success']) { zot_process_response($rr['outq_posturl'],$result, $rr); |