aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Job/UpdateInstanceInfo.php
blob: abcd1828bf4945171b790f77ecfeec8d3ff20611 (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
<?php
namespace Digitigrade\Job;

use Digitigrade\Job;
use Digitigrade\JobQueue;
use Digitigrade\Logger;
use Digitigrade\Model\Instance;

class UpdateInstanceInfo extends Job {
    public string $domain;

    public function __construct(string $domain) {
        $this->domain = $domain;
        $this->remainingTries = 3;
    }

    public function run() {
        Logger::getInstance()->info("updating info for instance $this->domain");
        if (Instance::findByDomain($this->domain, forceRefetch: true) == null) {
            throw new \RuntimeException("remote object doesn't seem to exist");
        }
    }

    public function submit() {
        JobQueue::getInstance()->submitLazy($this);
    }
}