Skip to Content
Odoo Menu
  • Zaloguj się
  • Wypróbuj za darmo
  • Aplikacje
    Finanse
    • Księgowość
    • Fakturowanie
    • Wydatki
    • Arkusz kalkulacyjny (BI)
    • Dokumenty
    • Podpisy
    Sprzedaż
    • CRM
    • Sprzedaż
    • PoS Sklep
    • PoS Restauracja
    • Subskrypcje
    • Wypożyczalnia
    Strony Internetowe
    • Kreator Stron Internetowych
    • eCommerce
    • Blog
    • Forum
    • Czat na Żywo
    • eLearning
    Łańcuch dostaw
    • Magazyn
    • Produkcja
    • PLM
    • Zakupy
    • Konserwacja
    • Jakość
    Zasoby Ludzkie
    • Pracownicy
    • Rekrutacja
    • Urlopy
    • Ocena pracy
    • Polecenia Pracownicze
    • Flota
    Marketing
    • Marketing Społecznościowy
    • E-mail Marketing
    • SMS Marketing
    • Wydarzenia
    • Automatyzacja Marketingu
    • Ankiety
    Usługi
    • Projekt
    • Ewidencja czasu pracy
    • Usługi Terenowe
    • Helpdesk
    • Planowanie
    • Spotkania
    Produktywność
    • Dyskusje
    • Zatwierdzenia
    • IoT
    • VoIP
    • Baza wiedzy
    • WhatsApp
    Aplikacje trzecich stron Studio Odoo Odoo Cloud Platform
  • Branże
    Sprzedaż detaliczna
    • Księgarnia
    • Sklep odzieżowy
    • Sklep meblowy
    • Sklep spożywczy
    • Sklep z narzędziami
    • Sklep z zabawkami
    Żywienie i hotelarstwo
    • Bar i Pub
    • Restauracja
    • Fast Food
    • Pensjonat
    • Dystrybutor napojów
    • Hotel
    Agencja nieruchomości
    • Agencja nieruchomości
    • Biuro architektoniczne
    • Budowa
    • Zarządzanie nieruchomościami
    • Ogrodnictwo
    • Stowarzyszenie właścicieli nieruchomości
    Doradztwo
    • Biuro księgowe
    • Partner Odoo
    • Agencja marketingowa
    • Kancelaria prawna
    • Agencja rekrutacyjna
    • Audyt i certyfikacja
    Produkcja
    • Tekstylia
    • Metal
    • Meble
    • Jedzenie
    • Browar
    • Prezenty firmowe
    Zdrowie & Fitness
    • Klub sportowy
    • Salon optyczny
    • Centrum fitness
    • Praktycy Wellness
    • Apteka
    • Salon fryzjerski
    Transakcje
    • Złota rączka
    • Wsparcie Sprzętu IT
    • Systemy energii słonecznej
    • Szewc
    • Firma sprzątająca
    • Usługi HVAC
    Inne
    • Organizacja non-profit
    • Agencja Środowiskowa
    • Wynajem billboardów
    • Fotografia
    • Leasing rowerów
    • Sprzedawca oprogramowania
    Przeglądaj wszystkie branże
  • Community
    Ucz się
    • Samouczki
    • Dokumentacja
    • Certyfikacje
    • Szkolenie
    • Blog
    • Podcast
    Pomóż w nauce innym
    • Program Edukacyjny
    • Scale Up! Gra biznesowa
    • Odwiedź Odoo
    Skorzystaj z oprogramowania
    • Pobierz
    • Porównaj edycje
    • Wydania
    Współpracuj
    • Github
    • Forum
    • Wydarzenia
    • Tłumaczenia
    • Zostań partnerem
    • Usługi dla partnerów
    • Zarejestruj swoją firmę rachunkową
    Skorzystaj z usług
    • Znajdź partnera
    • Znajdź księgowego
    • Spotkaj się z doradcą
    • Usługi wdrożenia
    • Opinie klientów
    • Wsparcie
    • Aktualizacje
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Zaplanuj demo
  • Cennik
  • Pomoc

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Księgowość
  • Zapasy
  • PoS
  • Projekt
  • MRP
All apps
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
Wszystkie posty Osoby Odznaki
Tagi (Zobacz wszystko)
odoo accounting v14 pos v15
O tym forum
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
Wszystkie posty Osoby Odznaki
Tagi (Zobacz wszystko)
odoo accounting v14 pos v15
O tym forum
Pomoc

Odoo 14: longpolling bus.Bus unavailable running behind GKE Ingress

Zaprenumeruj

Otrzymaj powiadomienie o aktywności w tym poście

To pytanie dostało ostrzeżenie
multiprocessproxyworkersv14longpolling
1 Odpowiedz
7046 Widoki
Awatar
Billy

I have an Odoo 14 app running on GKE cluster. The multiprocessor mode has been enabled by setting `workers = 2`. I chose the default GKE ingress to route the requests that match `/longpolling/*` to the longpolling port and the rest to the normal port.


Here's how I configure my GKE ingress.

```

resource "kubernetes_ingress" "ingress_service" {
  metadata {
    name = "ingress-service"
    annotations = {
      "networking.gke.io/managed-certificates": "subdomain-company-com"
      "networking.gke.io/v1beta1.FrontendConfig": "frontend-config" # for https redirection
    }
  }
  spec {
    rule {
      host = "dev.company.com"
      http {
        path {
          path = "/*"
          backend {
            service_name = kubernetes_service.core_service.metadata.0.name
            service_port = kubernetes_service.core_service.spec.0.port.0.port
          }
        }
      }
    }

    rule {
      host = "dev.company.com"
      http {
        path {
          path = "/longpolling/*"
          backend {
            service_name = kubernetes_service.core_service.metadata.0.name
            service_port = kubernetes_service.core_service.spec.0.port.1.port
          }
        }
      }
    }
  }

  wait_for_load_balancer = true
}

```


The Kubernetes Service looks like this.

```

resource "kubernetes_service" "core_service" {
  metadata {
    name = "core-service"
    annotations = {
      "cloud.google.com/backend-config" = jsonencode({
        "ports" = {
          "longpolling" = "long-polling-be-config"
        }
      })
    }
  }
  spec {
    type = "NodePort"
    selector = {
      app = "core"
    }
    port {
      name = "normal"
      port = 8080
      protocol = "TCP"
      target_port = "8069"
    }
    port {
      name = "longpolling"
      port = 8081
      protocol = "TCP"
      target_port = "8072"
    }
  }
}

```


The custom backend config `long-polling-be-config` is as follows.

```

apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
  name: long-polling-be-config
spec:
  healthCheck:
    checkIntervalSec: 30
    healthyThreshold: 5
    type: HTTP
    requestPath: /web/database/selector
    port: 8081

```


The health check for port 8069 is defined in the Kubernetes Deployment as follows.

```

          readiness_probe {
            http_get {
              path = "/web/database/selector"
              port = "8069"
            }
            initial_delay_seconds = 15
            period_seconds = 30
          }

```


The backend is healthy but I am still seeing this error once every minute or so.

```

2021-07-10 12:41:24,014 15 INFO odoo werkzeug: 10.2.0.1 - - [10/Jul/2021 12:41:24] "POST /longpolling/poll HTTP/1.1" 200 - 1 0.001 0.010
2021-07-10 12:41:24,739 15 INFO ? werkzeug: 10.2.0.1 - - [10/Jul/2021 12:41:24] "GET /web/database/selector HTTP/1.1" 200 - 6 0.008 0.102
2021-07-10 12:41:29,106 15 INFO ? werkzeug: 10.2.0.1 - - [10/Jul/2021 12:41:29] "GET /web/database/selector HTTP/1.1" 200 - 6 0.009 0.076
2021-07-10 12:41:54,054 14 ERROR odoo odoo.http: Exception during JSON request handling.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 683, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 359, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 347, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 912, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 531, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/addons/bus/controllers/main.py", line 35, in poll
    raise Exception("bus.Bus unavailable")
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 639, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 315, in _handle_exception
    raise exception.with_traceback(None) from new_cause
Exception: bus.Bus unavailable

```


I basically tried to follow the documentation here - https://www.odoo.com/documentation/14.0/administration/install/deploy.html#https - by implementing a GKE ingress rather than an nginx ingress.


Can somebody point what I have missed or did wrong?

0
Awatar
Odrzuć
Awatar
Umut Erol Kaçar
Najlepsza odpowiedź

Just make a separate kubernetes service dedicated to longpolling, with port 8072, and call that from within the ingress with the path /longpolling/*

I've also encountered the same issue and resolved it like this.

0
Awatar
Odrzuć
Podoba Ci się ta dyskusja? Dołącz do niej!

Stwórz konto dzisiaj, aby cieszyć się ekskluzywnymi funkcjami i wchodzić w interakcje z naszą wspaniałą społecznością!

Zarejestruj się
Powiązane posty Odpowiedzi Widoki Czynność
multi user time longpolling is canceled
session v14 longpolling
Awatar
1
lip 21
5786
Why is Odoo slow in multiprocess mode (workers > 0)? Rozwiązane
multiprocess slow workers odooV8
Awatar
Awatar
Awatar
2
sie 17
16853
Is logging safe when using multiple workers?
logging log multiprocess workers
Awatar
1
sie 16
11390
ODOO 14 nginx 502 bad gateway (nginx 111:connection refused) Rozwiązane
502error v14 longpolling PROXY NGINX
Awatar
Awatar
Awatar
Awatar
4
cze 24
8689
Odoo14 Error: Connection Pool is full
connection pool v14 postgresql12 longpolling
Awatar
0
mar 22
7517
Społeczność
  • Samouczki
  • Dokumentacja
  • Forum
Open Source
  • Pobierz
  • Github
  • Runbot
  • Tłumaczenia
Usługi
  • Hosting Odoo.sh
  • Wsparcie
  • Aktualizacja
  • Indywidualne rozwiązania
  • Edukacja
  • Znajdź księgowego
  • Znajdź partnera
  • Zostań partnerem
O nas
  • Nasza firma
  • Zasoby marki
  • Skontaktuj się z nami
  • Oferty pracy
  • Wydarzenia
  • Podcast
  • Blog
  • Klienci
  • Informacje prawne • Prywatność
  • Bezpieczeństwo Odoo
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo to pakiet aplikacji biznesowych typu open source, które zaspokoją wszystkie potrzeby Twojej firmy: CRM, eCommerce, księgowość, inwentaryzacja, punkt sprzedaży, zarządzanie projektami itp.

Unikalną wartością Odoo jest to, że jest jednocześnie bardzo łatwe w użyciu i w pełni zintegrowane.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now