Rq: Como obter todos os trabalhos concluídos por fila.?

Criado em 16 mai. 2017  ·  7Comentários  ·  Fonte: rq/rq

@selwin O PR # 391 poderia obter o FinishedQueue? Não vi nenhuma modificação que pudesse me mostrar como obter o FinishedQueue diretamente.

Comentários muito úteis

A maneira mais fácil de obter todos os trabalhos em um registro seria:

registry = FinishedJobRegistry('default', connection=redis)
job_ids = registry.get_job_ids() # You can then turn these into Job instances

Todos 7 comentários

Alguém poderia me ajudar com esse problema?

Dê uma olhada em registry.py. Existem vários registros disponíveis: StartedJobRegistry, FinishedJobRegistry e DeferredJobRegistry, de onde você pode obter os job_ids.

@scroogie OK, eu finalmente consegui entender o código-fonte da mesma maneira que você disse. Enquanto o registro foi armazenado como zset . Não era um pop conveniente como uma fila. Foi necessário implementar uma interface pop para fazer isso.

@scroogie OK, eu finalmente consegui entender o código-fonte da mesma maneira que você disse. Enquanto o registro foi armazenado como zset . Não era um pop conveniente como uma fila. Foi necessário implementar uma interface pop para fazer isso.

A maneira mais fácil de obter todos os trabalhos em um registro seria:

registry = FinishedJobRegistry('default', connection=redis)
job_ids = registry.get_job_ids() # You can then turn these into Job instances

@selwin OK,

Só para complementar, depois de obter a lista de job_ids do registro, eu poderia usar:

from rq import job
from redis import Redis

job.Job.fetch("job-id-here", connection=Redis())

para buscar o objeto de trabalho real da fila.

Esta página foi útil?
0 / 5 - 0 avaliações