Połączenie Salesforce-Woocommerce
Mamy sklep internetowy uruchomiony na stronie WordPress za pośrednictwem WooCommerce. Dane dotyczące produktów pobieramy bezpośrednio z Salesforce.
Teoretycznie wszystko działa poprawnie: CRON uruchamia się co 15 minut i sprawdza, czy w produktach zaszły jakieś zmiany, np. dotyczące dostępności, ceny itp., a następnie przesyła te informacje do WooCommerce. Integracja działa w obie strony, więc jeżeli klient kupi produkt przez stronę internetową, jego dostępność w Salesforce jest automatycznie aktualizowana i produkt zostaje oznaczony jako niedostępny.
W praktyce jednak obecna integracja generuje bardzo duże obciążenie naszego serwera - skoki wykorzystania CPU i pamięci RAM. Prowadzimy dwie strony, które korzystają z tej samej integracji API.
Szukamy osoby, która mogłaby przepisać tę integrację w taki sposób, aby zachować równie szybki czas aktualizacji produktów, a jednocześnie zoptymalizować wykorzystanie CPU i pamięci RAM.
Mamy tysiące produktów, a każdy produkt jest dostępny tylko w jednej sztuce. Z tego powodu dla naszego zespołu sprzedaży bardzo istotne jest, aby informacja o zakupie produktu przez stronę internetową była możliwie szybko przekazywana do Salesforce i aby produkt został tam oznaczony jako niedostępny.
Zauważyliśmy, że największe skoki obciążenia występują przede wszystkim w momencie dodawania partii nowych produktów, np. około 50 produktów jednocześnie. Każdy z nich jest dostępny w jednej sztuce i posiada zdjęcie: czasami jest to niewielki plik WebP, a czasami zdjęcie JPG o rozmiarze 2–3 MB.
Nasza konfiguracja Salesforce jest niestandardowa i została przygotowana specjalnie pod nasze potrzeby. Posiadamy m.in. własny, dostosowany mechanizm masowego importu produktów do Salesforce wraz z niestandardowym zakresem przesyłanych informacji.
Brakuje nam natomiast w ramach tej customowej konfiguracji automatycznej synchronizacji zamówień pomiędzy WooCommerce a Salesforce, zarówno z WooCommerce do Salesforce, jak i w drugą stronę.