attempts = $attempts; } /** * Get attempts */ public function get_attempts( ) { return $this->attempts; } /** * Reschedule action 4 times */ public function retry( $delay = 30 ) { $job = $this; if (null == $job->attempts) $job->set_attempts(0); $job->set_attempts($job->get_attempts() + 1); mailchimp_as_push($job, $delay); } /** * @return $this */ protected function applyRateLimitedScenario() { mailchimp_set_transient('api-rate-limited', true, 60); $this->retry(); return $this; } /** * Handle the job. */ abstract public function handle(); } }