CloudServices/Push/OpsSched
Contents
Ops Scheduled Tasks Request
Problem
Programs have a number of sub functions that may require regular operation. These tasks could be time based (e.g. "Run every 24 hours"), resource based (e.g. "Once we are within 80% usage"), or may have other triggering constraints which prevent a global solution. Still, these functions need to be run.
Ops has yet to define a solution themselves, even though they are subject to the same issues. Their most crucial ask is that they have metrics and knowledge so that they can spot and address anomalous behaviors. This document attempts to resolve these issues using Push related tasks
Logging Requirements
Ops has specified that they would like to have the following information stored and ideally displayed on a dashboard for each task:
Metrics
- Length of time of task
- Period since last task completion
- Status of last task completion (ok, error)
Information
- What trigger does this task require?
- What errors are critical (wake dev up at 3AM), notable (should be reported to dev), recoverable (jiggle handle)?
Nice to have
The following were indicated as "nice to have, but not required"
- Manual invocation
Task List
Push requires the following tasks to be executed
APNs Bridge ID Cleanup
Description Apple Push Notification service (APNs) requires that a call be made to a "feedback" service. This call will return any IDs that are no longer valid. This call will also flush these IDs making subsequent calls return an empty list.
Trigger This call must be made at least once every 24 hours.
Resolution Successful execution means that each ID fetched was cleared from the Push database and that no further requests using that bridge token occur.