We currently put all Adyen IPN messages onto the same queue as they come in, then process them one at a time. This process takes a few seconds for each one since we make a couple of API calls. Unfortunately, that's not fast enough to keep up with our generous donors when we set Adyen up to receive half of the traffic from US banners. This morning's test saw a constantly-growing Adyen queue, which only started dropping when we turned banners off. Donor TY mails were up to 1 hr late after three hours of the test.
Description
Description
Details
Details
Project | Branch | Lines +/- | Subject | |
---|---|---|---|---|
wikimedia/fundraising/SmashPig | master | +18 -1 | Adyen capture job queue multiplexing |
Event Timeline
Comment Actions
It would be nice to have a generalized way to multiplex any of the queues defined in our config yaml files.
Comment Actions
I'm concerned that with scaling up transaction volume (if we go w/Adyen for EN6C cards for example) we might see an increase in donors asking if we received their successful donations. If we see that in Q2 I might ask to prioritize this task higher.
Comment Actions
Change 645397 had a related patch set uploaded (by Ejegg; owner: Ejegg):
[wikimedia/fundraising/SmashPig@master] WIP Adyen job queue fan-out
Comment Actions
Change 645397 merged by jenkins-bot:
[wikimedia/fundraising/SmashPig@master] Adyen capture job queue multiplexing
Comment Actions
Code is deployed, but we need to deploy some config changes
- Add definitions for jobs-adyen-1, jobs-adyen-2, and jobs-adyen-3 queues to smashpig/main.yaml (in puppet)
- Create process-control jobs to consume from the new queues
- Update SmashPig/local-config/adyen/main.yaml to set capture-job-queue-count: 3