7

在阅读rq文档时,我注意到rq worker在启动 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 类。

什么是工人类、作业类和队列类,你什么时候使用它们?

4

1 回答 1

1

它只是类的继承(例如来自 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'

就我而言,我为每个新工作都排除了重新加载库

于 2019-06-15T05:04:40.153 回答