. */ declare(strict_types=1); namespace FireflyIII\Support\Cronjobs; use Carbon\Carbon; use Exception; /** * Class AbstractCronjob * * @codeCoverageIgnore */ abstract class AbstractCronjob { public int $timeBetweenRuns = 43200; protected Carbon $date; protected bool $force; public bool $jobFired; public bool $jobSucceeded; public bool $jobErrored; public ?string $message; /** * AbstractCronjob constructor. * * @throws Exception */ public function __construct() { $this->force = false; $this->date = today(config('app.timezone')); $this->jobErrored = false; $this->jobSucceeded = false; $this->jobFired = false; $this->message = null; } /** * */ abstract public function fire(): void; /** * @param Carbon $date */ public function setDate(Carbon $date): void { $this->date = $date; } /** * @param bool $force */ public function setForce(bool $force): void { $this->force = $force; } }