Funziona bene e fa il suo mestiere
A volte si creano situazioni un po' anomale (es. a causa di un worker che "esce male")
Ecco dunque alcuni comandi che possono essere utili
Ed esempio il seguente comando mostra a terminale la situazione di tutte le code:
$ rq info
Ci sono poi alcuni comandi che si possono dare da redis-cli...
Selezione de DB redis e visualizzazione di tutte le key utilizzate da rq
127.0.0.1:6379> select 0
127.0.0.1:6379> keys rq:*Vedere tutte le proprietà di un job:
127.0.0.1:6379> hgetall rq:job:3f8a4ace-84a5-42ad-9a26-7ef0e5bae3ecLista di tutte le code utilizzate (non è detto che siano tutte quelle definite):
127.0.0.1:6379> smembers rq:queuesLista dei job nella coda my-queue:
127.0.0.1:6379> zrange rq:finished:my-queue 0 100
Ricordarsi poi che per verificare la situazione si può ridare:
$ rq info
Riprendiamo ora il caso iniziale e chiediamoci come cancellare la situazione di un worker che è "uscito male"
127.0.0.1:6379> smembers rq:workers 127.0.0.1:6379> srem rq:workers rq:worker:"host-name"."pid"dove "host-name" e "pid" sono rispettivamente il nome della macchina e il pid del processo che non esiste più
Per verificare poi la situazione direttamente da interfaccia admin di Django-RQ oppure con un:
$ rq info
Per vedere lo stato di un singolo job:
127.0.0.1:6379> hget rq:job:6ac9c3d2-ffa0-49c3-a2d2-3641248cb884 status
Ed infine due comandi super PERICOLOSI (use at your own risk!):
127.0.0.1:6379> flushdb # rimuove tutte le key dal db corrente 127.0.0.1:6379> flushall # rimuove tutte le chiavi da ogni db
Avete altre indicazioni? Scrivetele nei commenti, grazie!