Compartir una cola de resultados entre varios procesos

La documentación para elmultiprocessingl módulo @ muestra cómo pasar una cola a un proceso iniciado conmultiprocessing.Process. Pero, ¿cómo puedo compartir una cola con procesos de trabajo asíncronos que comenzaron conapply_async? No necesito una unión dinámica ni nada más, solo una forma para que los trabajadores informen (repetidamente) sus resultados a la base.

import multiprocessing
def worker(name, que):
    que.put("%d is done" % name)

if __name__ == '__main__':
    pool = multiprocessing.Pool(processes=3)
    q = multiprocessing.Queue()
    workers = pool.apply_async(worker, (33, q))

Esto falla con:RuntimeError: Queue objects should only be shared between processes through inheritance. Entiendo lo que esto significa, y entiendo los consejos para heredar en lugar de requerir decapado / desempaquetado (y todas las restricciones especiales de Windows). Pero cómohace ¿Paso la cola de una manera que funciona? No puedo encontrar un ejemplo, y he probado varias alternativas que fallaron de varias maneras. ¿Ayuda por favor

Respuestas a la pregunta(2)

Su respuesta a la pregunta