neutron_lib.worker 模块

class neutron_lib.worker.BaseWorker(worker_process_count=1, set_proctitle='on', desc=None)

基类: ServiceBase

ServiceBase ABC 的部分实现。

子类仍然需要添加在 service.ServiceBase 中定义的其他抽象方法。有关更多详细信息,请参阅 oslo_service。

如果插件需要与 Neutron 数据库同步,并且仅在每个 API worker 中执行一次,则它会定义一个 BaseWorker 类,并且插件的 get_workers 将返回一个 BaseWorker 实例数组。例如

class MyPlugin(...):
    def get_workers(self):
        return [MyPluginWorker()]

class MyPluginWorker(BaseWorker):
    def start(self):
        super(MyPluginWorker, self).start()
        do_sync()
property set_proctitle
setproctitle(name='neutron-server', desc=None)
start(name='neutron-server', desc=None)

启动 worker。

如果 worker_process_count 大于 0,则会发送回调通知。子类应在执行自己的 start() 工作之前调用此方法。

自动将进程标题设置为指示这是一个子 worker,可以通过 name 和 desc 参数进行自定义。

返回值:

property worker_process_count

worker 的进程计数。

返回值:

为此 worker 启动的进程数。