#!/usr/bin/env python3 import multiprocessing import os from multiprocessing.managers import BaseManager PORT = 7481 KEY = b'AiZa5Uavcoh3PiajvaeTee5z' # keep it secret, keep it safe ! class QueueManager(BaseManager): """This Manager holds a Queue and waits for clients to use it.""" pass class QueueClient: """Base class for users of the Queue.""" def __init__(self): QueueManager.register('get_queue') manager = QueueManager(address=(os.environ.get('HOST', 'localhost'), PORT), authkey=KEY) manager.connect() self.queue = manager.get_queue() if __name__ == '__main__': queue = multiprocessing.Queue() QueueManager.register('get_queue', callable=lambda: queue) QueueManager(address=('', PORT), authkey=KEY).get_server().serve_forever()