def add_job(self, key, jobname, trigger, func, args, kwargs, jobstore='default', **options): job = Job(trigger, func, args or [], kwargs or {}, options.pop('misfire_grace_time', self.misfire_grace_time), options.pop('coalesce', self.coalesce), name=jobname, **options) job.key = key if not self.running: self._pending_jobs.append((job, jobstore)) else: self._real_add_job(job, jobstore, True) return job