You might see if the _schedule_metadata_update_in_place could be useful - you're already fetching the schedule tho not holding on to it. Since schedule update does the same thing with metadata you might could even just call it passing in the new metadata as the only update.