Magento FPC Cache Warm con gruppi di utenti, wget, Lesti FPC

Sto usando Lesti FPC su un sito Magento con 10 gruppi di clienti e molte categorie / prodotti.

Ho creato uno script di shell che legge sitemap.xml e wget each url durante la notte per creare la cache del sito. Funziona perfettamente per gli ospiti, ma quando un utente del gruppo di clienti accede, sta costruendo la cache da sé (se è il primo del giorno).

Qualcuno sa come creare uno script di shell in grado di simulare la logging e quindi eseguire il traino del sito? È persino ansible che uno script di shell mantenga le proprie informazioni su session / cookie per rimanere loggato? e se no, qualche altra idea?

Grazie molto

Quindi grazie ad alcuni googling e un sacco di tentativi ed errori, ho trovato una soluzione che pensavo di condividere.

È ansible utilizzare WGET per conservare le informazioni su session / cookie salvando e caricando i cookie. Magento ha la propria restrizione in quanto è necessario stabilire un cookie di session prima di effettuare il login o lo script verrà reindirizzato alla pagina "enable-cookies" piuttosto che al login, quindi ecco lo script;

#!/bin/bash # Establish a session and nab the cookie wget --save-cookies cookies.txt \ http://www.yourmagentourl.co.uk/ # Post your user credentials to login and update the cookie wget --save-cookies cookies.txt \ --load-cookies cookies.txt \ --post-data 'login[username]=USERNAME&login[password]=PASSWORD' \ http://www.yourmagentourl.co.uk/customer/account/loginPost/ # Load the cookie for each page you want to WGET to maintain the session wget --load-cookies cookies.txt \ -p http://www.yourmagentourl.co.uk/some-category.html 

Questa è la base, quindi è molto facile caricare ora tutti gli URL da un sitemap.xml e creare le versioni registrate della cache.

Support Grafista per un manzo sul salvataggio delle informazioni sui cookie.

Caching felice!

MODIFICA – COME DA RICHIESTA MOSTRARE IL CODICE ORIGINALE

Ecco il codice per scorrere la mappa del sito e caricare each pagina per creare la cache per gli ospiti. Salva questo come cachewarm.sh e crea un cronjob per eseguirlo each notte (non dimenticare di eliminare o espirare prima il tuo pagecach)

 #!/bin/bash # Pixie Media https://www.pixiemedia.co.uk # Use the sitemap and reload the Page Cache by accessing each page once # wget --quiet http://YOUR-URL.co.uk/sitemap.xml --output-document - | egrep -o "http://YOUR-URL.co.uk/[^<]+" | wget -q --delete-after -i -