Tag: 扭曲

处理来自高速通道的消息asynchronous预订,非阻塞

我有一个python“设备”运行在docker集装箱。 它连接到交叉开关路由器,在订阅的频道上接收高速公路/ WAMP事件消息。 当某个事件发布时,我的设备正在调用几秒钟内完成的方法。 现在,我希望它可以跳过或处理收到的同一事件的任何消息,而该方法仍在运行。 我试图通过使用Twisted的@inlinecallback修饰器并在设备上设置“self.busy”标志来实现此目的。 但是它不是立即返回,而是像正常的阻塞方法那样工作,以便传入的消息被一个接一个地处理。 这是我的代码: from autobahn.twisted.wamp import ApplicationSession from twisted.internet.defer import inlineCallbacks class Pixel(ApplicationSession): @inlineCallbacks def onJoin(self, details): yield self.subscribe(self.handler_no_access, 'com.event.no_access') @inlineCallbacks def handler_no_access(self, direction): entries = len(self.handlers['no_access'][direction]) if entries == 0: self.handlers['no_access'][direction].append(direction) result = yield self._handler_no_access() return result else: yield print('handler_no_access: entries not 0: ', self.handlers['no_access']) @inlineCallbacks def _handler_no_access(self): for […]

PID 1在docker持久性

我已经build立了一个Kippo服务器在docker容器中运行。 一切运行良好,直到你杀了容器。 杀死容器(通过重新启动机器或通过docker kill)使其无法使用STDERR“另一个扭曲的服务器正在运行,PID 1”。 我怎么解决这个问题? 我没有问题来重置容器的文件系统或类似的东西,因为我想要的一切都logging到数据库。 非常感谢你