def METHOD_NAME(start_task_q_publisher, start_task_q_subscriber, count=10):
    """Open publisher, and publish to task_q, then open subscriber a fetch"""
    task_q_pub = start_task_q_publisher()
    messages = []
    for i in range(count):
        message = {"task_id": str(uuid.uuid4()), "result": f"foo-{i}"}
        b_message = json.dumps(message).encode()
        messages.append(b_message)
        task_q_pub.publish(b_message)
    logging.warning(f"Published {count} messages, closing task_q_pub")
    logging.warning("Starting task_q_subscriber")
    tasks_out = multiprocessing.Queue()
    start_task_q_subscriber(queue=tasks_out)
    for i in range(count):
        _, message = tasks_out.get()
        assert messages[i] == message