release cursor execution after each drain_events to give chance to be started for other greenlets
async decorator