Redis subscriber does not get new scan events on existing parents
def test_start_subscriber_after_parent_nodes_created(session):
# Make sure the scan parents already exist before the watcher starts
session.scan_saving.get_parent_node()
started_event = gevent.event.Event()
events = list()
def watcher():
node = get_session_node(session.name)
for ev in node.walk_on_new_events(started_event=started_event):
events.append(ev)
if ev.type == ev.type.END_SCAN:
break
g = gevent.spawn(watcher)
assert started_event.wait(timeout=3)
diode = session.env_dict["diode"]
s = scans.loopscan(1, .1, diode)
g.join(timeout=3)
try:
assert not g, "Did not receive END_SCAN event"
except AssertionError:
g.kill(timeout=3)
raise
assert len(events) == 15
@marcus.oscarsson I think this is the same as the BM29 issues with the session watcher.