Example #1
0
def test_instantiate_link_and_connect_to_broker(mockstomp):
    """Test the Stomp connection routine."""
    stomp = StompTransport()
    mockconn = mockstomp.Connection.return_value

    assert not stomp.is_connected()

    stomp.connect()

    mockstomp.Connection.assert_called_once()
    mockconn.connect.assert_called_once()
    assert stomp.is_connected()

    stomp.connect()

    mockstomp.Connection.assert_called_once()
    mockconn.connect.assert_called_once()
    assert stomp.is_connected()

    stomp.disconnect()

    mockstomp.Connection.assert_called_once()
    mockconn.connect.assert_called_once()
    mockconn.disconnect.assert_called_once()
    assert not stomp.is_connected()

    stomp.disconnect()

    mockstomp.Connection.assert_called_once()
    mockconn.connect.assert_called_once()
    mockconn.disconnect.assert_called_once()
    assert not stomp.is_connected()
Example #2
0
    # print(message)
    # logger.info(f"Submitted {len(objects)} images.")

    q: "Queue[Union[Dict, List]]" = Queue()
    # Now wait for the reply messages
    logger.info(f"Waiting for image-analysis messages on {PIA_UNIQUE_QUEUE}")
    workflows.recipe.wrap_subscribe(
        stomp,
        PIA_UNIQUE_QUEUE,
        lambda _, _2, message: q.put(message),
        acknowledgement=False,
    )

    with tqdm(total=len(objects)) as progress:
        # def receive(rw, header, message):
        #     """Process a hitfinding message"""
        #     q.put(message)

        # Wait for results to filter in
        result_count = 0
        while result_count < len(objects):
            message = q.get()
            result_count += 1
            progress.write(
                f"Got results for image {message['file-number']} = {message['n_spots_total']}"
            )
            progress.update()

finally:
    stomp.disconnect()