CRON to mechanizm umożliwiający planowanie zadań w systemach operacyjnych typu Unix. Sklepy internetowe mogą go używać do automatyzacji zadań takich jak aktualizacja stanów magazynowych, czyszczenie logów czy regularne tworzenie kopii zapasowych bazy danych. Wspiera to płynne i efektywne zarządzanie sklepem przy minimalnym nakładzie pracy manualnej. W przypadku integracji SALESmanago z PrestaShop, CRON usprawnia przesyłanie danych o produktach do SALESmanago, zwiększając wydajność twojego e-sklepu oraz procesów zarządzania produktami.
PrestaShop to platforma typu self-hosted. Oznacza to, że użytkownik samodzielnie odpowiada za hosting oprogramowania na własnym serwerze lub u wybranego dostawcy hostingu. W związku z tym mechanizm CRON musi zostać wdrożony indywidualnie przez każdego klienta SALESmanago. Poniżej znajdują się ogólne instrukcje wsparte przykładem konfiguracji w konkretnym oprogramowaniu (DevilWEB 2.0).
Spis treści
- Podstawowe informacje
- Konfigurowanie mechanizmu CRON dla platformy PrestaShop
- Przykład: DevilWEB 2.0
- Informacje techniczne
1. Podstawowe informacje
Mechanizm CRON umożliwia automatyzację powtarzalnych zadań poprzez uruchamianie skryptów bądź poleceń w określonych odstępach czasu. Przykładowo, możesz automatycznie synchronizować stany magazynowe, ceny i promocje, co przyczynia się do mniejszych opóźnień oraz mniejszej liczby błędów związanych z ręcznym wprowadzaniem zmian.
Ponadto CRON zwiększa wydajność e-sklepu poprzez przesyłanie danych większymi partiami. Bez tej funkcjonalności wszelkie aktualizacje danych produktowych są przesyłane do SALESmanago pojedynczo, od razu po ich wprowadzeniu. Dzięki mechanizmowi CRON aktualizacje są gromadzone w czasie rzeczywistym, ale przesyłane w określonych odstępach czasu. Zmniejsza to liczbę wywołań API oraz obciążenie serwera, zapewniając płynniejsze działanie integracji.
PrestaShop nie oferuje gotowego mechanizmu zarządzania zadaniami CRON, dlatego tego rodzaju rozwiązanie nie może zostać wbudowane bezpośrednio do wtyczki SALESmanago. Zamiast tego CRON musi zostać wdrożony indywidualnie przez każdego klienta SALESmanago, na używanej przez niego platformie hostingowej.
2. Konfigurowanie mechanizmu CRON dla platformy PrestaShop
Konfiguracja mechanizmu CRON dla integracji SALESmanago z platformą PrestaShop składa się z dwóch kroków:
- Krok 1: Utworzenie zadania CRON dla twojej domeny.
- Krok 2: Aktywowanie dedykowanej opcji w ustawieniach wtyczki (wersja wtyczki: 3.7.0 lub wyższa).
WAŻNE: Jeżeli aktywujesz dedykowaną opcję we wtyczce, ale nie utworzysz zadania CRON dla twojej domeny, dane produktowe w ogóle nie będą przesyłane do SALESmanago. Dlatego zalecana jest powyższa kolejność działań: najpierw utwórz (i aktywuj, jeżeli to konieczne) zadanie CRON, a dopiero potem dostosuj ustawienia wtyczki.
Poniżej znajdziesz szczegółowe instrukcje.
Krok 1: Utwórz zadanie CRON dla twojej domeny
W pierwszej kolejności ustal, jak możesz utworzyć zadanie CRON dla swojej domeny.
Prawdopodobnie twój dostawca hostingu oferuje dedykowane narzędzie służące do tego celu. Przejdź do panelu administracyjnego swojej platformy hostingowej i znajdź tę opcję. Może się ona nazywać np. “zadania CRON” (“CRON jobs”, “CRON tasks”), “reguły CRON” (“CRON rules”), “planowanie/programowanie zadań” (“job scheduling”), itp.
Jeżeli nie możesz znaleźć tej opcji, sprawdź materiały pomocy swojego dostawcy hostingu lub skontaktuj się z jego działem obsługi klienta.
Po zlokalizowaniu tej opcji dodaj nowe zadanie CRON, a następnie zdefiniuj jego ustawienia, przede wszystkim:
- Odstępy czasowe, w których zadanie będzie wykonywane – Zazwyczaj wartość ta ma format składający się z pięciu pól oddzielonych spacjami, odpowiadających minutom, godzinom, dniom miesiąca, miesiącom oraz dniom tygodnia. Prawdopodobnie możesz również skonfigurować niestandardowe ustawienia.
Zalecany odstęp czasowy to 2 minuty. - Komenda – W tym przypadku komenda ma formę linku służącego do wywoływania front controllera. Jako komendę podaj poniższy adres URL:
http://twoja_domena/prestashop/index.php?fc=module&module=salesmanago&controller=cron
Pamiętaj, aby zastąpić wyróżniony fragment adresu twoją własną domeną.
Zapisz zmiany, aby wdrożyć nowe zadanie CRON.
WAŻNE: W zależności od używanego oprogramowania bądź platformy hostingowej, po utworzeniu nowego zadania CRON może być konieczne jego aktywowanie. Tak długo, jak dedykowana opcja we wtyczce SALESmanago pozostaje aktywna, zadanie CRON również powinno pozostawać aktywne. Inaczej dane produktowe w ogóle nie będą przesyłane do SALESmanago.
W Sekcji 3 poniżej znajdziesz przykład konfiguracji przeprowadzonej w oprogramowaniu DevilWEB 2.0. Pamiętaj, że różni dostawcy hostingu mogą oferować różne metody bądź narzędzia służące do tworzenia zadań CRON.
Krok 2: Aktywuj dedykowaną opcję w ustawieniach wtyczki
Upewnij się, że masz wtyczkę SALESmanago dla PrestaShop zainstalowaną w wersji 3.7.0 lub wyższej. Następnie przejdź do konfiguracji wtyczki na platformie PrestaShop.
Zaloguj się do swojego panelu administratora PrestaShop, przejdź do wtyczki SALESmanago i wybierz zakładkę Ustawienia platformy. Przejdź do sekcji: Przesyłanie danych produktowych w partiach za pomocą CRON i użyj przełącznika, aby włączyć tę opcję.
Pamiętaj, że jeżeli przełącznik jest ustawiony na “aktywny”, ale powiązane zadanie CRON nie zostało utworzone bądź nie jest aktywne, dane produktowe w ogóle nie będą przesyłane do SALESmanago.
Gotowe! Konfiguracja została zakończona.
Testowanie konfiguracji
Aby zweryfikować, czy zadanie CRON zostało wdrożone pomyślnie, wykonaj poniższe kroki:
- Po utworzeniu nowego zadania CRON i upewnieniu się, że jest ono włączone (aktywne), wprowadź zmiany w danych kilku produktów.
- Poczekaj, aż minie czas określony jako odstęp czasowy dla wykonywania zadania CRON.
- Otwórz galerię produktów w SALESmanago i sprawdź, czy wprowadzone zmiany są widoczne w danych produktowych.
3. Przykład: DevilWEB 2.0
Poniżej znajdziesz instrukcje dotyczące wdrożenia mechanizmu CRON w oprogramowaniu DevilWEB 2.0 (na platformie hostingowej MyDevil.net). Pamiętaj, że to jedynie przykład. Metoda oraz konieczne do wykonania kroki mogą się różnić w zależności od używanej platformy hostingowej.
Aby utworzyć zadanie CRON w DevilWEB 2.0, postępuj zgodnie z poniższymi instrukcjami:
- Zaloguj się do swojego konta na platformie hostingowej.
- W panelu administratora wybierz z menu Zadania Cron.
- Kliknij Dodaj zadanie Cron.
- Skonfiguruj nowe zadanie CRON.
Określ czas [1], co który będzie wykonywane zadanie:
Następnie wklej następujący link:
http://twoja_domena/prestashop/index.php?fc=module&module=salesmanago&controller=cron
do pola Polecenie [2], zastępując wyróżniony fragment adresu własną domeną.
- Kliknij+Dodaj. Zadanie pojawi się na liście istniejących zadań CRON:
Upewnij się, że zadanie ma status Aktywny. Możesz je aktywować bądź dezaktywować w dowolnym momencie, używając przycisku Włącz/Wyłącz.
4. Informacje techniczne
Platforma PrestaShop nie oferuje wbudowanego mechanizmu CRON, dlatego wtyczka SALESmanago wykorzystuje zamiast tego Front Controller (cron.php).
Przeczytaj więcej o używaniu Front Controllera jako zadania CRON w dokumentacji PrestaShop >>
Począwszy od wersji 3.7.0, wtyczka SALESmanago używa tabeli ps_sm_cron do przechowywania ID produktów, których dane uległy zmianie. Okresowe zadanie CRON przesyła dane wszystkich zmodyfikowanych produktów w partiach, co poprawia wydajność e-sklepu.
Jeżeli mechanizm CRON został skonfigurowany poprawnie (zob. Sekcja 2 powyżej), dane są przesyłane zgodnie z następującym scenariuszem:
- Wraz z instalacją wtyczki SALESmanago w wersji 3.7.0 lub wyższej, w bazie danych PrestaShop tworzona jest tabela ps_sm_cron.
- Jeżeli dane jakiegoś produktu zostają zaktualizowane, unikalne ID tego produktu jest dodawane do tabeli ps_sm_cron jako wpis queued_product.
- Po wywołaniu zadania CRON wszystkie wpisy queued_product są pobierane z tabeli ps_sm_cron. Następnie tabela jest czyszczona z tych wpisów, a dane produktów są eksportowane do SALESmanago. (Jeżeli tabela ps_sm_cron nie zawiera żadnych wpisów, zadanie CRON zostanie wykonane, ale żadne dane nie zostaną wyeksportowane).