您好,这是我的项目示例,我想使用 nameko run Test:A, 而且我发现 class A 在运行此服务期间会反复初始化。 实际上,我想连接到一个服务并重复做一些事情,我不想每次都初始化连接。那么有没有什么好的方法可以解决呢?
###FileName:Test.py###
from nameko.timer import timer
import time
class A:
name = 'test'
def __init__(self):
self.a = 'a'
print('this class has been init')
@timer(interval=0)
def test(self):
try:
print('this is a nameko method')
except:
pass
time.sleep(1)
@timer(interval=2)
def test2(self):
try:
print('second nameko method')
except:
pass
time.sleep(3)```
请您参考如下方法:
Nameko 服务以类的形式实现,但在面向对象编程方面,它们的行为与普通类不同。
特别是,该类是为每个工作人员实例化的,即每次触发入口点时。这就是为什么您一遍又一遍地看到“此类已初始化”的原因。
一般来说,您不应该在 Nameko 服务类中使用构造函数。
要管理服务的连接和一次性设置,您应该使用 DependencyProvider .
