private function waitTillJobGetsExpectedStatus(Job $job, $expectedStatus, $notExpectedStatus, $timeOutSeconds = 1000) { $expireTime = (new DateTime())->add(new \DateInterval('PT' . $timeOutSeconds . 'S')); do { sleep(2); $job->update(); $this->assertNotEquals($job->status, $notExpectedStatus); $this->assertTrue($expireTime >= new DateTime(), 'Timeout during job update!'); } while ($job->status != $expectedStatus); }