Background tasks
P2Lab Mirakl uruchamia 14 zaplanowanych zadań w tle — pobierają zamówienia, wysyłają stany magazynowe, odświeżają dane, sprzątają stare logi i tak dalej. Żadne z nich nic nie zrobi, jeśli na hoście nie działają dwa elementy:
- Harmonogram, który odpala zadania, gdy są wymagalne. W Shopware to polecenie
scheduled-task:run, zwykle wywoływane z crona raz na minutę. - Proces w tle, który wykonuje wysłaną pracę. To polecenie
messenger:consume async, uruchomione jako długo działający proces.
Bez harmonogramu zadania nigdy nie stają się wymagalne. Bez procesu w tle wysłane zlecenia leżą w kolejce i nic się nie dzieje.
Katalog zadań
Dział zatytułowany „Katalog zadań”Każde zadanie ma domyślny interwał i można je przestawić na stronie administracyjnej Settings → System → Scheduled tasks. Interwały związane z synchronizacją można też zmienić per funkcja na zakładce Mirakl → Settings → Sync Settings — zobacz Settings.
| Zadanie | Domyślny interwał | Co robi |
|---|---|---|
| Stock sync | 15 min | Wysyła aktualizacje stanów dla wszystkich aktywnych mapowań ofert do marketplace’u. |
| Order import | 30 min | Pobiera nowe i zaktualizowane zamówienia z każdego marketplace’u i tworzy je w Shopware. |
| Product export | 30 min | Bierze produkty oczekujące na eksport i wysyła je do katalogu marketplace’u. |
| Import status check | 5 min | Sprawdza postęp uruchomionych importów produktów, ofert i stanów; w razie błędu pobiera raport pozycji. |
| Message sync | 30 min | Pobiera nowe wiadomości przychodzące do zamówień. Domyślnie wyłączone. |
| Order document sync | 30 min | Pobiera nowe dokumenty przychodzące do zamówień. Domyślnie wyłączone. |
| Document request sync | 24 godz. | Pobiera żądania dokumentów od operatora (faktury, korekty). Domyślnie wyłączone. |
| Invoice sync | 24 godz. | Pobiera nowe faktury z marketplace’u. Domyślnie wyłączone. |
| Transaction log sync | 24 godz. | Pobiera nowe wpisy z dziennika transakcji marketplace’u. Domyślnie wyłączone. |
| Transaction log export poll | 5 min | Sprawdza asynchroniczne zadanie eksportu dziennika transakcji u operatora i pobiera plik, gdy jest gotowy. |
| API log cleanup | 24 godz. | Usuwa wiersze logu API starsze niż API Log Retention (days). |
| Sync log cleanup | 24 godz. | Usuwa wiersze logu synchronizacji starsze niż Sync Log Retention (days). |
| Task progress cleanup | 24 godz. | Usuwa zakończone wpisy z listy Tasks. |
| Export cleanup | 1 godz. | Usuwa zakończone wpisy eksportu produktów i wygenerowane pliki CSV. |
Włączanie i wyłączanie poszczególnych synchronizacji
Dział zatytułowany „Włączanie i wyłączanie poszczególnych synchronizacji”Każda synchronizacja ma swój własny włącznik na zakładce Mirakl → Settings → Sync Settings. Gdy włącznik jest wyłączony, zaplanowane zadanie nadal odpala się w swoim interwale, ale obsługa po prostu je pomija — nie ma żadnego wywołania marketplace’u, nie zmienia się żaden trwały stan. Wyłączenie włącznika to zalecany sposób na pauzowanie synchronizacji.
Domyślnie:
- Enable Stock Sync, Enable Order Import, Enable Product Export — włączone.
- Enable Message Sync, Enable Order Document Sync, Enable Document Requests Sync, Enable Invoice Sync, Enable Transaction Log Sync — wyłączone. Włączaj je w miarę potrzeb.
Cztery zadania sprzątające (API log cleanup, Sync log cleanup, Task progress cleanup, Export cleanup) nie mają włącznika — zawsze działają. Korzystają z ustawień przechowywania na karcie Logs zakładki Mirakl → Settings → Options.
Długo działające operacje uruchamiane z panelu
Dział zatytułowany „Długo działające operacje uruchamiane z panelu”Gdy uruchomisz z panelu coś, co trwa dłużej — ręczny eksport, ręczna synchronizacja, odświeżanie danych referencyjnych, krok kreatora z paskiem postępu — plugin tworzy wpis na liście Tasks (Dashboard → Quick Start → Tasks), który panel odpytuje o postęp.
Każdy wpis przechodzi przez następujące stany: oczekuje → w kolejce → w trakcie → zakończone (albo błąd, albo anulowane). Lista pokazuje procent ukończenia i ostatni komunikat. Zadanie Task progress cleanup usuwa zakończone wpisy po dobie.
Odzyskiwanie po awarii procesu w tle
Dział zatytułowany „Odzyskiwanie po awarii procesu w tle”Plugin jest zaprojektowany tak, żeby przetrwać restart procesu w tle bez utraty ani dublowania pracy:
- Samonastępujące partie — długie wgrywanie zleca kolejną stronę przed zakończeniem, więc awaria w trakcie partii traci najwyżej jedną stronę. Następne odpalenie harmonogramu odkrywa ją i wznawia.
- Synchronizacje z kursorem (import zamówień, wiadomości, dokumenty, faktury, dziennik transakcji) pamiętają, gdzie skończyły ostatnio. Awaria oznacza wznowienie od tego samego punktu przy następnym odpaleniu — bez duplikatów, bez pominiętych rekordów.
- Blokady throttlingu — minutowa blokada (zobacz API throttling) sama się zwalnia po krótkim czasie, jeśli proces, który ją trzymał, padł.
Wskazówki i pułapki
Dział zatytułowany „Wskazówki i pułapki”Powiązane tematy
Dział zatytułowany „Powiązane tematy”- Sync logs — co każde zadanie zapisuje
- API throttling — jak plugin rozkłada w czasie swoje wywołania
- Settings — wszystkie ustawiane interwały i włączniki
- Reference → Enums — wartości używane na liście Tasks