sql >> Base de Datos >  >> NoSQL >> Redis

¿Cancelar una tarea que ya se está ejecutando en Python RQ?

Si tiene la instancia de trabajo a mano simplemente

job.cancel()

O si puede determinar el hash:

from rq import cancel_job
cancel_job('2eafc1e6-48c2-464b-a0ff-88fd199d039c')

http://python-rq.org/contrib/

Pero eso simplemente lo elimina de la cola; No sé si lo matará si ya se está ejecutando.

Puede hacer que registre el tiempo de la pared y luego se controle periódicamente y genere una excepción/autodestrucción después de un período de tiempo.

Para manual, estilo ad-hoc, muerte:si tiene redis-cli instalado, puede hacer algo drástico como vaciar colas y trabajos:

$ redis-cli
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> exit

Todavía estoy investigando la documentación para tratar de encontrar cómo hacer una matanza de precisión.

No estoy seguro si eso ayuda a alguien ya que la pregunta ya tiene 18 meses.