FAQ MobyDick Integracja XML z hurtowniami

Stany magazynowe

Moduł rozróżnia 3 główne stany produktu.

Produkt dostępny

Produkt, którego stan magazynowy jest większy od 0 jest uznawany przez integrację za dostępny. W przypadku takiego produktu, flaga “pozwól zamówić” jest ustawiana na “Automatycznie - Decydują ustawienia sklepu”.

Jak działa opcja “Ustaw nowe produkty jako nieaktywne”

Opcja ta pozwala, aby dodawane produkty były dodane jako nieaktywne. Umożliwia to ręczną akceptację produktów.
Ważne: Podczas uruchomienia następnego importu, produkty już dodane nie są traktowane jak nowe i są zarządzane sa wedlgu innych opcji.

Aby ręcznie “akceptować” produkty do sklepu, należy pamiętać ustawieniu opcji “Włącz / wyłącz produkt” na wartość “Nie zmieniaj” w sekcjach “Produkty dostępne”, “Produkty niedostępne” i “Produkty usunięte”.

W przeciwnym wypadku, zostaną one automatycznie włączone podczas aktualizacji.

Dlaczego w hurtowni jest produkt, a u mnie go nie ma lub vice versa

Jeśli w Twoim sklepie produkt jest, a w hurtowni go nie ma lub odwrotnie, to należy wykonać następujące czynnośći.

Wpierw

  • W zakładce Import jest data ostatniego uruchomienia importu. Upewnij się, że został on wykonany niedawno.
  • Może być tak, że produkt w hurtowni dopiero się pojawił lub skończył. Dla pewności uruchom pełen import i sprawdź po zakończeniu, czy problem nadal występuje.
  • Upewnij się, że w zakładce import data zakończenia importu jest po dacie rozpoczęcia importu.

W drugiej kolejności:

  • Sprawdź, czy ustawienia integracji nie blokują importu produktów. Jeśli pozmieniałeś i nie wiesz co i jak, to możesz zawsze przywrócić import do ustawień domyślnych.
  • Sprawdź w logach, czemu konkretny produkt się nie importuje - w logach zawsze jest napisany powód, dla którego dany kod produktu nie został zaimportowany.
    Wyjątkiem są produkty, których nie ma w pliku XML, a są w hurtowni.

Komunikat: Session Lock - Another integration

Oznacza to, że integracja jest już uruchomiona. Na ogół jest to celowe działanie. Tzn. działa zabezpieczenie, które nie pozwoli uruchomić 2 integracji w tym samym czasie.
Aby rozwiązać problem trzeba poczekać, aż inny proces zakończy działanie.

Ten komunikat może być również wywoływany przez błędną konfigurację NGINX/LiteSpeed (więcej info poniżej)

NGINX i LiteSpeed

Na serwerach bazujących na jednym z w/w oprogramowań mogą wystąpić problemy w przypadku domyślnych konfiguracji. Najczęstszym objawem jest przerywanie integracji komunikatem “Session Lock - Another integration is running”.

Jak to naprawić?

  • Pierwszą możliwością jest wykonywanie integracji z poziomu konsoli SSH, poprzez komendę php modules/seigimobydick/cron/nazwahurtowni.php
  • Drugą metodą będzie dostosowanie czasów oczekiwania dla NGINX/Litespeed
    • Litespeed: https://docs.litespeedtech.com/lsws/cp/cpanel/long-run-script/
    • NGINX: https://stackoverflow.com/questions/16002268/prevent-nginx-504-gateway-timeout-using-php-set-time-limit