mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-24 04:10:57 -05:00
At the moment the dashboard does two API calls to find out if a service has: 1. Scheduled jobs 2. Normal jobs API calls are slow because they are synchronous, go over the network and touch the database. We can’t cache these API calls because: - a scheduled job could become a normal job at any time - the statistics on a normal job are constantly updating However there are plenty of services which don’t have any jobs, and probably never will. And finding out if a service has any jobs is reliably cacheable (because as soon as a service creates its first job it has some jobs). So this commit: - refactors the way we get scheduled/normal jobs into the job_api_client to make the view a bit slimmer - makes an additional, Redis-wrapped call to find out if any jobs exist before trying to get the jobs This should result in a speedup on the dashboard, and can be used in the future if there’s anywhere else we want to show or hide something depending on whether a service has created any jobs (I have some ideas).