aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Digitigrade/Job/ProcessIncomingPush.php5
-rw-r--r--routes/push.php3
2 files changed, 7 insertions, 1 deletions
diff --git a/Digitigrade/Job/ProcessIncomingPush.php b/Digitigrade/Job/ProcessIncomingPush.php
index eb6bdd5..600972c 100644
--- a/Digitigrade/Job/ProcessIncomingPush.php
+++ b/Digitigrade/Job/ProcessIncomingPush.php
@@ -2,6 +2,7 @@
namespace Digitigrade\Job;
use Digitigrade\Job;
+use Digitigrade\JobQueue;
use Digitigrade\Logger;
use Digitigrade\Model\Actor;
use Digitigrade\Model\Interaction;
@@ -49,4 +50,8 @@ class ProcessIncomingPush extends Job {
throw new \RuntimeException('invalid object type: ' . $this->object->type);
}
}
+
+ public function submitDelayed(int $delaySecs) {
+ JobQueue::getInstance()->submitDelayed($this, $delaySecs);
+ }
} \ No newline at end of file
diff --git a/routes/push.php b/routes/push.php
index d74d973..344412c 100644
--- a/routes/push.php
+++ b/routes/push.php
@@ -70,6 +70,7 @@ Router::getInstance()->mount('/push/simple', function (array $args) {
sleep(5);
// and only add the job if the client actually waited for the delay time
if (!connection_aborted()) {
- (new ProcessIncomingPush($obj))->submit();
+ // also wait a minute before processing the push
+ (new ProcessIncomingPush($obj))->submitDelayed(60);
}
}); \ No newline at end of file