什么是Python rq包中的队列类,工作者类,作业类

时间:2018-06-20 19:37:14

标签: python python-3.x redis queue python-rq

在通读rq docs时,我注意到在启动工作程序时可以传递一些参数给rq worker

示例:

rq worker --worker-class 'foo.bar.MyWorker'

参数列表包括

  • --worker-class-w:要使用的RQ Worker类(例如rq worker --worker-class'foo.bar.MyWorker')
  • --job-class-j:要使用的RQ作业类。
  • --queue-class:要使用的RQ Queue类。

什么是工作者类,工作类和队列类,什么时候使用它们?

1 个答案:

答案 0 :(得分:0)

这只是类的继承(例如rq的Worker)

将其命名为base_worker.py

import pseudo_realy_necessery_library_for_every_job

from rq import Worker as BaseClass
class Worker(BaseClass):
    def __init__(self, queues=None, *args, **kwargs):
        u'''
        Constructor.

        Accepts the same arguments as the constructor of
        ``rq.worker.Worker``.
        '''


        super().__init__(queues, *args, **kwargs)

您可以运行

rq worker --worker-class='base_worker.Worker'

就我而言,我没有为每个新工作重新加载库