POS: Longpolling support
by IT-Projects LLC https://github.com/itpp-labs/pos-addons , Dinar Gabbasov https://github.com/itpp-labs/pos-addonsRequired Apps |
•
Point of Sale (point_of_sale)
• Inventory Management (stock) |
Lines of code | 617 |
Technical Name |
pos_longpolling |
License | See License tab |
Website | https://twitter.com/gabbasov_dinar |
Also available in version | v 8.0 v 9.0 v 10.0 v 12.0 v 13.0 v 14.0 |

POS: Longpolling support
Technical module to implement instant updates in POS
Debugging
If you need to see longpolling requests at browser's Network tool, be sure that you don't have other opened tab to the same address. Otherwise, odoo smartly sends longpolling requests via one of existing tabs only and pass result via localStorage.
Questions?
To get an assistance on this module contact us by email :arrow_right: help@itpp.dev
Contributors
- Dinar Gabbasov
Odoo Apps Store: https://apps.odoo.com/apps/modules/11.0/pos_longpolling/
Tested on Odoo 11.0
POS: Longpolling support
Longpolling
Check following resources about activating longpolling:
- Official doc: https://www.odoo.com/documentation/11.0/setup/deploy.html#builtin-server
- Non-official doc: https://odoo-development.readthedocs.io/en/latest/admin/longpolling.html
In short, you need to start server with non-zero workers parameter::
openerp-server --workers=2 ...
and configure nginx:
location /longpolling { proxy_pass http://127.0.0.1:8072; } location / { proxy_pass http://127.0.0.1:8069; }
PgBouncer
If you use PgBouncer or something similar, be sure that LISTEN/NOTIFY features are supported. For PgBouncer it means that you have to use Session pooling
Database connections limit
It's highly recommended to check odoo and postgresql settings about connections limits. In short, it must satisfy following condition:
(1 + workers + max_cron_threads) * db_maxconn < max_connections
Where max_connections is postgresql setting and the rest are from odoo.
Usage
Status Icons
Longpolling Icon:
- Red - There is no connection to the server. Offline mode
- Orange - There is a connection to the server, but we haven't received a response from polling yet
- Green - Online
- Rotating - Connection is updating
To manually reestablish connection or to check its presence click on the longpolling icon.
Wi-Fi Icon:
Shows the correctness of the order sending to the server
- Red - There are some unsent paid orders.
- Green - All paid orders were sent.
Wi-Fi sign can be reestablished only manually, or after the one another order is paid. If it is red make sure that the internet connection is on and click on the icon to send orders before turning off the device in order to prevent data loss. If internet connection is present but orders are not sending, it could mean that the error has occurred.
The MIT License (MIT) Copyright 2020 IT-Projects Labs Copyright 2015-2020 IT-Projects LLC Copyright 2014-2015 Ivan Yelizariev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module