effect queue service-fn consume works create assignment