def test_forget(ray_start): # Send "count" signals on behalf of an actor, then ignore all these # signals, and then send anther "count" signals on behalf of the same # actor. Then show that the driver only gets the last "count" signals. @ray.remote class ActorSendSignals(object): def __init__(self): pass def send_signals(self, value, count): for i in range(count): signal.send(UserSignal(value + str(i))) a = ActorSendSignals.remote() signal_value = "simple signal" count = 5 ray.get(a.send_signals.remote(signal_value, count)) signal.forget([a]) ray.get(a.send_signals.remote(signal_value, count)) result_list = receive_all_signals([a], timeout=5) assert len(result_list) == count