Co robi zadanie w każdym przebiegu
Zaplanowane zadanie Mirakl - Sync Returns jest we wszystkich opublikowanych wersjach Mirakl Connector (Odoo 17, 18, 19 i 20), działa co 30 minut i jest aktywne zaraz po instalacji.
W Odoo 20.0 w każdym przebiegu zadanie sprawdza, czy uruchamia je administrator, wyszukuje aktywne marketplace'y z włączoną synchronizacją zwrotów, zostawia te, które może wywołać, i dla każdego z nich pobiera zwroty z marketplace'u stronami, a następnie przetwarza po kolei te, które przyszły. Karty marketplace'ów otwierasz z menu Mirakl › Configuration › Marketplaces; żeby zobaczyć menu Mirakl, wystarczy być użytkownikiem wewnętrznym Odoo.

Zadanie nazywa się Mirakl - Sync Returns (moduł nie tłumaczy tej nazwy na polski); poniższy schemat pokazuje jego nazwę w innych językach.


Jak zachowuje się zadanie
Działa co 30 minut i wymaga administratora
Częstotliwość to co 30 minut. W Odoo 17.0 zadanie powtarza się bez końca. W Odoo 20.0 pierwszą rzeczą, jaką robi każdy przebieg, jest sprawdzenie użytkownika: jeśli uruchomi je ktoś, kto nie jest administratorem, zatrzymuje się z komunikatem Only an administrator can run this scheduled action. i nie przetwarza żadnego marketplace'u.
Nie każdy marketplace wchodzi do przebiegu
W Odoo 20.0 wyszukiwanie zaczyna się od aktywnych marketplace'ów z włączoną synchronizacją zwrotów; reszty nie rusza. Następnie moduł odfiltrowuje te, które może wywołać: najpierw te z połączeniem bezpośrednim, potem te przez FlexigoTech Cloud, a z nich tylko te, które mają zapisany klucz. Ponadto, jeśli zapisane uprawnienie nie obejmuje usługi modułu (sprawdza się to bez wychodzenia do sieci), żaden z marketplace'ów przez FlexigoTech Cloud nie jest w tym przebiegu wywoływany. Te z połączeniem bezpośrednim działają dalej normalnie.
Przerwa FlexigoTech Cloud ucina resztę przebiegu
Jeśli FlexigoTech Cloud nie przepuści żądania (bo nie ma subskrypcji albo usługa jest wstrzymana), nic nie jest oznaczane ani usuwane, a przebieg kończy się w tym miejscu: marketplace'y, które zostały, czekają na następny przebieg, który toczy się dalej. Dlatego te z połączeniem bezpośrednim idą pierwsze: przerwa nie zostawia żadnego z nich bez obsługi. Przerwa liczy się tylko do raportu zdrowia FlexigoTech Cloud, w postaci kodów, nigdy tekstu. Bez subskrypcji lub przy zawieszonej usłudze zatrzymuje się to, co daje subskrypcja; dane zostają w Twoim Odoo.
Błąd w jednym marketplace'ie nie zatrzymuje pozostałych
Każdy inny błąd w marketplace'ie jest zapisywany w dzienniku serwera Odoo, a moduł próbuje dodać wpis dziennika typu błąd z tekstem błędu; potem przechodzi do następnego marketplace'u. Jeśli nie da się nawet zapisać tego wpisu, moduł zostawia ostrzeżenie w dzienniku serwera, a ta awaria dziennika nie zastępuje pierwotnego błędu.
Jeśli marketplace odpowie błędem 404 na zwroty
Jeśli marketplace odpowie błędem 404 (HTTP 404) na żądanie zwrotów, moduł dodaje wpis dziennika typu ostrzeżenie z tekstem Returns endpoint not available (HTTP 404).. Następnie, jeśli marketplace ma włączony zapas przez zamówienia, moduł przechodzi na inną metodę synchronizacji; jeśli nie, przesuwa do tego momentu znacznik ostatniej synchronizacji zwrotów i kończy bez przetwarzania czegokolwiek.
Odpowiedź, której konektor nie rozpoznaje, to nie pusta strona
Jeśli przyjdzie strona bez zwrotów, przebieg tego marketplace'u się kończy. Ale jeśli odpowiedź ma kształt, którego konektor nie rozpoznaje, moduł dodaje wpis dziennika typu błąd i nie przesuwa okna synchronizacji, żeby nie pominąć zwrotów, których nie przeczytał.
Strony, limit i kiedy zadanie się zatrzymuje
Zadanie pobiera strony o ustalonym rozmiarze, przetwarza każdy zwrot i go zlicza. Zatrzymuje się, gdy strona zawiera mniej zwrotów niż rozmiar strony, gdy przeczytało już całkowitą liczbę zapowiedzianą przez marketplace albo gdy osiągnie limit stron na przebieg (co najmniej jedna strona).
Co sprawdzić, jeśli wygląda, jakby nic nie robiło
- Zadanie jest wśród zaplanowanych akcji Odoo pod nazwą
Mirakl - Sync Returnsi jest aktywne. - Marketplace jest aktywny i ma włączoną synchronizację zwrotów; jeśli nie, nie wchodzi do wyszukiwania (jego karty otwierasz z
Mirakl › Configuration › Marketplaces). - Jeśli łączy się przez FlexigoTech Cloud, ma zapisany klucz, a usługa jest ważna. FlexigoTech Cloud pilnuje synchronizacji i wysyła e-mail, jeśli zawiedzie.
- Jeśli inny marketplace z tego samego przebiegu zrobił przerwę FlexigoTech Cloud, przebieg został ucięty, a te, które zostały, czekają na następny.
- Jeśli marketplace odpowiedział błędem 404, poszukaj wpisu dziennika typu ostrzeżenie z tekstem
Returns endpoint not available (HTTP 404). - Jeśli jest wpis dziennika typu błąd, przeczytaj jego tekst: to błąd tego marketplace'u.
Jak pomaga FlexigoTech
FlexigoTech wdraża Odoo 17, 18, 19 i 20 oraz tworzy konektory i integracje na zamówienie. Mirakl Connector to moduł z jednorazową płatnością za wersję i wymaga subskrypcji FlexigoTech Cloud (plan Konektor: 49 €/mies. lub 490 €/rok, netto (bez VAT)). Moduł zobaczysz na jego stronie lub w karcie Odoo Apps.
Czytaj dalej
Sprawdzone w kodzie źródłowym konektora (wersja 17.0 i 20.0) i w podlinkowanych źródłach
Źródła
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): data/ir_cron_data.xml
- Kod modułu: flexigobe_mirakl_connector 17.0 (e430de3e): data/ir_cron_data.xml
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_instance.py
- Kod modułu: flexigobe_mirakl_connector 20.0 (aa05e537): models/mirakl_ai.py
- apps.odoo.com/apps/modules/20.0/flexigobe_mirakl_connector
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
