Duże katalogi mogą sprawić, że generowanie Product Feed Pro będzie powolne lub przekroczy limity czasu i pamięci serwera. Aby tego uniknąć, wtyczka dzieli generowanie pliku na partie i przetwarza jedną partię na raz. Ten artykuł omawia, jak wtyczka automatycznie wybiera rozmiar partii, jak samoczynnie się dostosowuje podczas działania pliku oraz jak ustawić ręczny rozmiar partii, jeśli kiedykolwiek potrzebujesz stałej wartości.
Jak wtyczka wybiera rozmiar partii
Przed każdym uruchomieniem Product Feed Pro szacuje początkowy rozmiar partii na podstawie liczby opublikowanych produktów w Twoim sklepie:
| Opublikowane produkty | Początkowy rozmiar partii |
|---|---|
| Do 1000 | 200 produktów na partię |
| 1001 do 5000 | 300 produktów na partię |
| 5001 do 10000 | 500 produktów na partię |
| 10001 do 50000 | 1000 produktów na partię |
| Ponad 50000 | 1500 produktów na partię |
Adaptacyjne rozmiary partii (Product Feed Pro 13.5.7+)
Począwszy od wersji Product Feed Pro 13.5.7, generowanie pliku nie trzyma się już jednego stałego rozmiaru partii przez całe uruchomienie. Każda partia jest mierzona pod kątem czasu i szczytowego użycia pamięci, a następna partia jest dostosowywana na podstawie tego, co Twój host właśnie udowodnił, że jest w stanie obsłużyć. Jest to kluczowa funkcja Product Feed Pro, więc ma zastosowanie niezależnie od tego, czy Product Feed Elite jest aktywny.
Budżet czasowy: Każda partia celuje w 60% budżetu czasowego obliczonego na podstawie własnych limitów Twojego serwera, dzięki czemu wolny host nadal robi stałe postępy zamiast przekraczać czas.
Wzrost i pamięć: Rozmiar partii może wzrosnąć do 2x na krok, ale zmniejsza się w razie potrzeby. Jeśli szczytowe użycie pamięci przez partię zbliży się do limitu pamięci Twojego hosta, następna partia jest natychmiast zmniejszana o połowę, niezależnie od czasu.
Uczenie się między uruchomieniami: Gdy partia zakończy się w pełni w ramach budżetu czasowego, wtyczka zapisuje ten rozmiar dla pliku. Następne uruchomienie rozpoczyna się blisko tego nauczonego rozmiaru, zamiast wracać do powyższej tabeli, dzięki czemu powtarzające się uruchomienia na tym samym hoście stają się coraz bardziej wydajne.
Odzyskiwanie po awarii: Jeśli partia ulegnie awarii (przekroczy czas lub wyczerpie pamięć), wtyczka zmniejsza rozmiar partii o połowę i ustawia tymczasowy limit, aby przyszłe partie nie próbowały ponownie przy rozmiarze, który właśnie zawiódł. Każde w pełni zakończone uruchomienie po tym podnosi ten limit o 25%, dzięki czemu odzyskuje stopniowo, zamiast od razu wracać do starego rozmiaru.
Benchmark: Na przykładzie 18 201 produktów w Google Shopping, adaptacyjne rozmiary wsadowe skróciły pierwszy przebieg z 19 do 5 lub 6 partii, a przebieg z ciepłym startem do 2, co przyspieszyło generowanie o około 19% do 24%. Zysk pochodzi z eliminacji powtarzających się inicjalizacji WordPress między partiami, a nie z szybszego przetwarzania pojedynczych produktów, więc korzyść jest największa w sklepach o niskim natężeniu ruchu, gdzie każda partia już czeka na WP-Cron. Pełny obraz dużych katalogów można znaleźć w Ultimate guide to scaling feeds for 10K+ products.
Ustaw ręczny rozmiar partii
Adaptacyjne skalowanie działa dobrze dla większości sklepów. Ustaw ręczny rozmiar partii tylko wtedy, gdy już wiesz, że Twój host ma twarde ograniczenie, na przykład współdzielony host z restrykcyjnym limitem pamięci, którego chcesz znacznie nie przekroczyć.
- Przejdź do Product Feed → Settings.
- Na karcie General włącz Change products per batch number.
- Wprowadź pożądaną wartość w polu Insert batch size:, które się pojawi.
- Zapisz swoje ustawienia.

Nowa wartość jest zapisywana automatycznie i używana od następnego odświeżenia, ręcznego lub zaplanowanego.
Wybór wartości: Zacznij od niższej (100-300), jeśli Twój feed przekracza limit czasu lub napotyka błąd pamięci, i podnoś ją (1000+) dopiero po potwierdzeniu, że Twój serwer obsługuje bieżący rozmiar bez błędów. Zawsze testuj ponownie po zmianie.
Feedy zaparkowane po wielokrotnych awariach
Jeśli zaplanowane generowanie feedu ulegnie awarii 3 razy z rzędu, Product Feed Pro wstrzymuje automatyczne uruchamianie tego feedu i wyświetla powiadomienie administratora w wp-admin, aby nie powtarzały się ciche awarie w tle. Dotyczy to tylko wstrzymania zaplanowanego generowania (cron), a nie ręcznego odświeżania, które wyzwalasz ze strony Manage Feeds.
Aby odzyskać, albo ręcznie obniż rozmiar partii (powyżej), albo po prostu wyzwól ręczne odświeżenie. Jedno w pełni ukończone uruchomienie czyści licznik awarii, usuwa powiadomienie administratora i pozwala na wznowienie zaplanowanego generowania.
Sprawdzanie decyzji wsadowych w logach
Product Feed Pro zapisuje dwa różne rodzaje wpisów w WooCommerce → Status → Logs pod źródłem woo-product-feed-pro:
- Ostrzeżenia o awariach i zaparkowanych feedach pojawiają się bezwarunkowo. Nie musisz nic włączać, aby je zobaczyć.
- Decyzje dotyczące rozmiaru wsadowego (wybrany rozmiar dla każdej partii i dlaczego) pojawiają się tylko wtedy, gdy w ustawieniach wtyczki włączono opcję Włącz logowanie.
Jeśli plik danych jest stale wstrzymywany, sprawdź WooCommerce → Status → Logi, nawet jeśli nie włączyłeś logowania. Włącz logowanie tylko wtedy, gdy potrzebujesz szczegółowych informacji o każdej partii.
Rozwiązywanie problemów
max_execution_time serwera i limit pamięci są wystarczająco wysokie dla Twojego katalogu. Zobacz Pomoc, mój plik danych nie aktualizuje się lub jest zablokowany podczas przetwarzania!, aby uzyskać pełne kroki diagnostyczne.FAQ
Potrzebujesz więcej pomocy?
Jeśli korzystasz z Product Feed Elite, otwórz zgłoszenie wsparcia, a nasz zespół wsparcia pomoże Ci dostosować rozmiar partii do Twojej konfiguracji.
Jeśli korzystasz z darmowej wtyczki Product Feed Pro, otwórz nowy temat na forum wsparcia WordPress.org.

