È possibile ottenere questo risultato inviando una semplice richiesta GET al proprio committente. Il percorso sul Dispatcher che devi colpire è /dispatcher/invalidate.cache
.
le seguenti intestazioni assicurarsi che sia elaborato in modo corretto:
- CQ-Azione: Questo può essere impostato su "Elimina" per rimuovere il contenuto. Penso che "EXPIRE" funzioni anche per contrassegnare il contenuto come non aggiornato, ma non rimuoverlo fisicamente dalla cache.
- CQ-Handle: Specifica ciò che deve essere eliminato, a partire dalla radice della cartella della cache. Per esempio. "/ content/geometrixx", rimuoverà geometrixx e tutto ciò che sta sotto. "/" rimuove tutto nella cache.
- Content-Length & Content-Type: Verificare che la richiesta sia gestita correttamente. Poiché non stiamo inviando un corpo, la lunghezza può essere impostata su 0. Content-Type può essere "application/octet-stream" (non hanno provato altri valori).
Il comando ricciolo finale che si sarebbe poi costruire qualcosa di simile:
curl -v \
-H "CQ-Action: DELETE" \
-H "CQ-Handle:/" \
-H "Content-Length: 0" \
-H "Content-Type: application/octet-stream" \
http://localhost:80/dispatcher/invalidate.cache;
(Dove questo è rimuovere tutto dalla cache su un Dispatcher esecuzione sotto localhost sulla porta 80.qui backslash sono opzionali, solo rendendo più facile da leggere)
Si potrebbe emettere questa richiesta GET da qualsiasi casella (soggetto a vostre restrizioni del firewall, ecc), per esempio, potrebbe venire da:
- tua CI agente di compilazione
- un processo pianificato nell'istanza Pubblicare
- una componente amministratore nell'istanza Autore che prende un determinato percorso per irrigare.
Grazie mille. Questo è esattamente quello che stavo cercando. Leggenda. –
Ho provato CQ-Handle come "/" per rimuovere tutto nella cache, ma non elimina tutte le cartelle nella cartella cache, elimina solo il file .stat nella cartella cache. Sono su dispatcher 4.1.9, Apache 2.2, Windows 7. Funziona bene per una cartella ex "/ contenuto". Qualcosa di specifico che dobbiamo configurare per "/"? –
@Sandeep Kumar, non che io sappia - stai inviando anche l'intestazione 'CQ-Action: DELETE'? Funziona su un'installazione di vaniglia dello stesso stack tecnologico per te? – anotherdave