def METHOD_NAME(self, *conditions):
    jobs = []
    selectable = select([self.jobs_t.c.id, self.jobs_t.c.job_state]).\
        order_by(self.jobs_t.c.next_run_time)
    selectable = selectable.where(and_(*conditions)) if conditions else selectable
    failed_job_ids = set()
    for row in self.engine.execute(selectable):
        try:
            jobs.append(self._reconstitute_job(row.job_state))
        except BaseException:
            self._logger.exception('Unable to restore job "%s" -- removing it', row.id)
            failed_job_ids.add(row.id)
    # Remove all the jobs we failed to restore
    if failed_job_ids:
        delete = self.jobs_t.delete().where(self.jobs_t.c.id.in_(failed_job_ids))
        self.engine.execute(delete)
    return jobs