From e1b70814ea3c4dd08ee4cacc895a738e5c078e5b Mon Sep 17 00:00:00 2001 From: Emmanuel Cazenave Date: Sun, 19 Apr 2020 08:46:12 +0200 Subject: [PATCH] fetch dossiers every hour (#41842) --- passerelle_reunion_fsn/models.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/passerelle_reunion_fsn/models.py b/passerelle_reunion_fsn/models.py index c87a95e..b5a88e1 100644 --- a/passerelle_reunion_fsn/models.py +++ b/passerelle_reunion_fsn/models.py @@ -255,6 +255,11 @@ query getDossiers($demarcheNumber: Int!, $createdSince: ISO8601DateTime, $first: 'data': self._ds_get_dossiers() } + def hourly(self): + self.logger.info('start fetch dossier') + dossiers = self._fetch_dossiers() + self.logger.info('num new dossiers fetched: %s' % len(dossiers)) + @endpoint( methods=['get'], perm='can_access', name='fetch-dossiers', description=_('Fetch dossiers from DS and consolidate into local data') @@ -268,7 +273,7 @@ query getDossiers($demarcheNumber: Int!, $createdSince: ISO8601DateTime, $first: } } - def _fetch_dossiers(self, request): + def _fetch_dossiers(self, request=None): res = [] for dossier in self._ds_get_dossiers()['dossiers']: id_dossier = dossier['id'] @@ -464,17 +469,17 @@ class DSDossier(models.Model): csv_checksum = models.CharField(max_length=256) last_update_datetime = models.DateTimeField(auto_now=True) - def to_json(self, request): - csv_file_url = request.build_absolute_uri( - reverse( - 'generic-endpoint', - kwargs={ - 'connector': self.resource.get_connector_slug(), - 'slug': self.resource.slug, - 'endpoint': 'get-dossier-file' - } - ) + def to_json(self, request=None): + csv_file_url = reverse( + 'generic-endpoint', + kwargs={ + 'connector': self.resource.get_connector_slug(), + 'slug': self.resource.slug, + 'endpoint': 'get-dossier-file' + } ) + '/%s/' % self.id + if request is not None: + csv_file_url = request.build_absolute_uri(csv_file_url) return { 'id': str(self.pk),