Bug #94877
toulouse_maelis: trigger wcs envoyé avec un payload vide
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/126836/
TypeError: 'NoneType' object is not subscriptable File "passerelle/base/management/commands/cron.py", line 62, in handle getattr(connector, frequency)() File "passerelle/contrib/toulouse_maelis/models.py", line 416, in hourly self.trigger_subscriptions_cron() File "passerelle/contrib/toulouse_maelis/models.py", line 410, in trigger_subscriptions_cron subscription.trigger() File "contextlib.py", line 81, in inner return func(*args, **kwds) File "passerelle/contrib/toulouse_maelis/models.py", line 4898, in trigger 'trigger wcs: %s -> %s' % (base_url, self.wcs_trigger_payload['data']['subscription_status']) connector "toulouse-maelis.maelis" error running hourly job
Associated revisions
History
Updated by Nicolas Roche 3 days ago
- Project changed from Suivi des traces to Passerelle
- Subject changed from TypeError: 'NoneType' object is not subscriptable to toulouse_maelis: trigger wcs envoyé avec un payload vide
- Assignee set to Nicolas Roche
Je n'arrive pas à écrire de test pour le montrer :
à mon avis, le trigger a été envoyé alors qu'il n'était pas encore configuré :
@transaction.atomic def notify(self): ... // notifie maélis result = obj.resource.call( 'Invoice', 'payInvoices', ) obj.maelis_notification_date = now() # <-- trigger_status devient 'triggering' obj.maelis_notification_data = result obj.save() # à ce moment, le cron peut envoyer le trigger if obj.basket_generation_date is not None: # match paid invoice with subscriptions and trigger w.c.s. obj.set_trigger_subscriptions() # <-- le payload du trigger n'est positionné qu'à ce moment là
A noter qu'il n'y a pas vraiment de conséquence, le trigger est rejoué ensuite, une fois configuré.
Updated by Nicolas Roche 3 days ago
Pour moi c'est la suite de #87168 où l'on a d'abord notifié maélis avant wcs.
Updated by Robot Gitea 3 days ago
- Status changed from Nouveau to Solution proposée
Nicolas Roche (nroche) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/passerelle/pulls/626
- Titre : toulouse-maelis: prevent cron to trigger an empty payload to wcs (#94877)
- Modifications : https://git.entrouvert.org/entrouvert/passerelle/pulls/626/files
Updated by Benjamin Dauvergne 3 days ago
Nicolas Roche a écrit :
Je n'arrive pas à écrire de test pour le montrer :
à mon avis, le trigger a été envoyé alors qu'il n'était pas encore configuré :[...]
A noter qu'il n'y a pas vraiment de conséquence, le trigger est rejoué ensuite, une fois configuré.
C'est dans une transaction ce n'est pas possible que le cron en voie les modifications avant que la transaction ne commit.
Updated by Robot Gitea 3 days ago
- Status changed from Solution proposée to Solution validée
Benjamin Dauvergne (bdauvergne) a approuvé une pull request sur Gitea concernant cette demande :
Updated by Robot Gitea 2 days ago
- Status changed from Solution validée to Résolu (à déployer)
Nicolas Roche (nroche) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/passerelle/pulls/626
- Titre : toulouse-maelis: prevent cron to trigger an empty payload to wcs (#94877)
- Modifications : https://git.entrouvert.org/entrouvert/passerelle/pulls/626/files
Updated by Transition automatique 1 day ago
- Status changed from Résolu (à déployer) to Solution déployée
toulouse-maelis: prevent cron to trigger an empty payload to wcs (#94877)