Automate counting of live services and orgs

Returns the data calculated by the API. Stored in Redis against a
hardcoded key so that no-one hammering the home page is directly hitting
the database.
This commit is contained in:
Chris Hill-Scott
2019-04-10 17:20:51 +01:00
parent 55eaa066f1
commit 9863aa3c48
10 changed files with 61 additions and 15 deletions

View File

@@ -98,6 +98,14 @@ class ServiceAPIClient(NotifyAdminAPIClient):
endpoint = "/service/{0}".format(service_id)
return self.post(endpoint, data)
@cache.delete('live-service-and-organisation-counts')
def update_status(self, service_id, live):
return self.update_service(
service_id,
message_limit=250000 if live else 50,
restricted=(not live),
)
# This method is not cached because it calls through to one which is
def update_service_with_properties(self, service_id, properties):
return self.update_service(service_id, **properties)