add option to no enqueue if already scheduled