I think the first background fetch task is not scheduled in your code. You need to call the scheduleBackgroundBrightnessFetch at least once after registering the task identifier and from then on, every time a fetch request is executed, it will schedule the next one to happen.