Disque在redis中是否有像RedisJobStore这样的功能?

时间:2016-01-31 20:14:31

标签: python python-2.7 redis apscheduler disque

我想用disque作为工作商店。 我使用Apscheduler中的 RedisJobStore 类在redis中实现了相同的功能。

以下是redis job-store的代码段:

    from apscheduler.jobstores.redis import RedisJobStore
    job_stores = {
                  'default': RedisJobStore(jobs_key='ap_scheduler.jobs', run_times_key='ap_scheduler.run_times')
    }

是否可以使用RedisJobStore类创建一个包装器来创建disque中的作业存储,然后由apscheduler使用?

  class RedisJobStore(BaseJobStore):
      def __init__(self, db=0, jobs_key='apscheduler.jobs', run_times_key='apscheduler.run_times',
             pickle_protocol=pickle.HIGHEST_PROTOCOL, **connect_args):
    super(RedisJobStore, self).__init__()
    c = Client(['localhost:7711'])
    self.disque = c.connect()

    def lookup_job(self, job_id):
        job_state = self.disque.hget(self.jobs_key, job_id)
        return self._reconstitute_job(job_state) if job_state else 
               None

0 个答案:

没有答案