No meu trabalho principal, estou trabalhando em um aplicativo Django com Celery para enfileiramento, que usa Redis como backend. A cada implantação, os trabalhos “desaparecem” e somem. E nós precisamos encaixar a atualização/implantação entre os trabalhos de longa duração do cliente.
Estou substituindo tudo isso por uma fila baseada em banco de dados usando uma máquina de estados formal e usando o celery apenas para a fase de “executar a tarefa agora”. Isso me dá estado persistente, capacidade de executar trabalhos diretamente, ou seja, não usando o celery como fila, e o estado não é transitório no Redis.
Obrigado Cameron, vou focar neste, já que agora temos o logging ativado novamente. Até agora nada óbvio, não há erros ou jobs em segundo plano falhados que eu possa ver, e pela lógica do código não vejo nada que pudesse pular propositalmente esses e-mails. Para esse tópico, ninguém recebeu um e-mail para o OP, o que é intrigante, é como se o job nunca tivesse sido enfileirado em primeiro lugar. Continuarei procurando e avisarei.
@cameron-simpson, investigamos isso mais a fundo e o problema, na verdade, está em nosso sistema de fila de revisão. Por exemplo, com Mental block, simple question - Python Help - Discussions on Python.org, ele foi detectado como “spam” pelo Akismet, o que fez com que a postagem exigisse aprovação do administrador. Quando o administrador aprova a postagem, os e-mails do modo lista de e-mail não são enfileirados. Quando corrigirmos esse bug, ele deverá resolver o problema. Devo conseguir resolver isso nas próximas semanas.
Eu mesclei este conserto hoje @cameron-simpson, também farei o deploy do python hoje, então se você puder me informar sobre quaisquer outras instâncias disso acontecendo, seria ótimo No entanto, acho que isso deve corrigir o problema: