是的,这是可能的。您可以使用 pidfile 或者(如果您使用的是 Linux),您可以使用这样的套接字:https ://stackoverflow.com/a/7758075/639295 。
您可能还会考虑使用类似 redis 的东西来进行进程间通信。它有一个简单的 Python api,可以很容易地让多个进程监听另一个进程。
这是双方的一个例子,更大的类上的方法。
def redis_listener(self):
r = redis.Redis(host='localhost', db=0)
pubsub = r.pubsub()
pubsub.psubscribe('a.channel')
for message in pubsub.listen():
logging.info('Received message: %s' % (message,))
self.parse_message(message)
def redis_broadcaster():
r = redis.Redis(host='localhost', db=0)
pubsub = r.pubsub()
pubsub.psubscribe('a.*')
for message in pubsub.listen():
if message['pattern'] == None:
continue
symbol = message['pattern'].split('.')[1]
for listener in WATCHERS[symbol]:
listener.write_message(unicode(message['data']))