app,worker: use close(quit) to broadcast end of event processing