def METHOD_NAME():
    signaler = signaling.Signaler()
    assert signaler.signals is not None
    signaler.push(attrs=dict(a=1, b=2), topic="/delegation")
    assert len(signaler.signals) == 1
    sig = signaler.signals.popleft()
    assert sig.attrs == dict(a=1, b=2)
    assert sig.dt is not None
    assert sig.rid is not None
    assert sig.ckey is None
    assert sig.topic == "/delegation"
    signaler.push(attrs=dict(a=1), topic="/m")
    signaler.push(attrs=dict(a=2), topic="/m", ckey="abc")
    signaler.push(attrs=dict(a=3), topic="/m")
    signaler.push(attrs=dict(a=4), topic="/m", ckey="abc")
    assert len(signaler.signals) == 3
    assert signaler.signals[0].attrs == dict(a=1)
    assert signaler.signals[1].attrs == dict(a=4)
    assert signaler.signals[2].attrs == dict(a=3)
    signaler.signals.clear()
    assert len(signaler.signals) == 0
    signaler.push(attrs=dict(a=1), topic="/m")
    signaler.push(attrs=dict(a=2), topic="/m", ckey="abc")
    signaler.push(attrs=dict(a=3), topic="/m")
    now = datetime.datetime.now() - datetime.timedelta(minutes=11)
    signaler.push(attrs=dict(a=4), topic="/m", ckey="abc", dt=now)
    assert len(signaler.signals) == 3
    limit = 0.5
    tock = 0.025
    doist = doing.Doist(tock=tock, limit=limit, doers=[signaler])
    doist.enter()
    tymer = tyming.Tymer(tymth=doist.tymen(), duration=doist.limit)
    while not tymer.expired:
        doist.recur()
        time.sleep(doist.tock)
    assert doist.limit == limit
    assert len(signaler.signals) == 2