blob: acaccbbec54d563b23cb09fcd584eb80f2eadbd1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?php
namespace Digitigrade\Job;
use Digitigrade\Job;
use Digitigrade\JobQueue;
use Digitigrade\Logger;
use Digitigrade\Model\Note;
class GenerateLinkPreviews extends Job {
public int $noteId;
public function __construct(Note $note) {
$this->noteId = $note->id;
$this->remainingTries = 4;
}
public function run() {
$note = Note::find($this->noteId);
Logger::getInstance()->info('Generating link previews for note: ' . $note->uri);
$note->generateLinkPreviews();
$note->save();
}
public function submit() {
// submit it after a random delay to avoid deluging the websites being previewed
JobQueue::getInstance()->submitDelayed($this, random_int(0, 60 * 15 /* 15 minutes */));
}
}
|