e6372c3cc6fef67c43768c212f1fab675c53f34c
Every time we check the status of a request (every 3 seconds) we also launch another request to check the status of the terminal. This way we can notify the user if the terminal is no longer reachable. Even though we call Adyen's async endpoint for this it can still take a while to complete (>2 seconds). Before this change the pos_payment_table would be locked for this entire duration. This means it's now likely that during this time Adyen calls us back to say the transaction is finished. It needs to write on the payment method which causes the concurrent update error. Odoo's automatic retry mechanism would usually handle this fine but it's not pretty solution. Instead let's convert the methods that do the async call to @api.model functions and pass in all the data they need. This solves the problem because now we won't need to lock pos_payment_method for the duration of the request.
…
…
…
…
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, Purchase Management, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
Then follow the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%