Przejdź do głównej zawartości

Komendy CLI

P2Lab Cache dodaje komendy konsoli Symfony, które możesz wywołać z bin/console. Wszystkie komendy działają tak samo jak reszta CLI Shopware — respektują --env=prod, zwracają niezerowe exit code przy błędzie i integrują się z narzędziami deploya.

Czyści każdą cache’owaną stronę z backendu.

Okno terminala
bin/console p2lab:cache:clear

Exit code

  • 0 — sukces; liczba usuniętych plików jest wypisana
  • niezerowy — wyjątek został rzucony podczas czyszczenia; zobacz wiadomość

Typowe użycie

Uruchom jako ostatni krok deploya produkcyjnego, po cache:clear i ewentualnych migracjach:

Okno terminala
bin/console plugin:refresh
bin/console plugin:update P2LabCache
bin/console cache:clear
bin/console p2lab:cache:clear

Standardowe komendy Shopware, które powinieneś znać

Dział zatytułowany „Standardowe komendy Shopware, które powinieneś znać”

P2Lab Cache podpina się do standardowych prymitywów CLI Shopware. Następujące komendy mają znaczenie:

Czyści cache aplikacji Symfony. To też upuszcza strony zapisane w backendzie Filesystem (bo żyją pod var/cache/). Uruchom po deployach.

Przetwarza kolejkę async message. P2Lab Cache używa jej do nagrzewania cache i kilku ścieżek inwalidacji. Uruchom jako długo żyjący proces na produkcji.

Przetwarza zadania zaplanowane — w tym trzy nocne zadania czyszczące dostarczane przez P2Lab Cache (zobacz Zadania zaplanowane).

Listuje każde zaplanowane zadanie w systemie. Szukaj wpisów zaczynających się od p2lab_cache., by potwierdzić, że zadania pluginu są zarejestrowane.

REST API pluginu to rekomendowany sposób skryptowania operacji cache poza czyszczeniem. Na przykład, by uruchomić warmup ze skryptu deploya:

Okno terminala
TOKEN=$(curl -s -X POST https://shop.example.com/api/oauth/token \
-H "Content-Type: application/json" \
-d '{"grant_type":"client_credentials","client_id":"...","client_secret":"..."}' \
| jq -r '.access_token')
curl -X POST https://shop.example.com/api/_action/p2lab-cache/warmup/start \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"salesChannelId":null,"batchSize":100}'

Zobacz REST API po pełną listę endpointów.