As insígnias são concedidas uma vez por dia.
Existe uma maneira de agendar ou forçar o processo de concessão “agora mesmo” pela linha de comando?
A maneira mais fácil é acessar /sidekiq/scheduler e procurar por quaisquer jobs com a palavra “grant” no nome. Provavelmente você quer Jobs::BadgeGrant, mas alguns badges têm suas próprias tarefas.
Revisei todas as tarefas agendadas no Sidekiq até 24 horas a partir de agora, e nenhuma delas contém o token grant.
Está em produção no forum.kozovod.com.
Correto, não há entradas como na sua captura de tela.
Acabei de notar que não recebi emblemas há muito tempo. Estou recriando o container agora e verificarei se a tarefa será agendada após a reinicialização.
Além disso, notei que um dos meus emblemas custom-sql apresentou um erro — isso poderia impedir que todos os outros emblemas funcionassem?
Em teoria, não.
Acho que o mais provável é que tenha ocorrido um erro em uma atualização do docker-manager, fazendo com que algumas tarefas do sidekiq falhassem ao carregar. Esperemos que, após você reconstruir, tudo funcione.
Certo, a reconstrução ocorreu sem problemas.
No entanto, alguns minutos após a conclusão, ainda não consigo encontrar nenhum token grant em nenhuma das mais de 125 tarefas agendadas. Isso significa que algo está falhando na minha configuração?
Sim, provavelmente. Você tem algum erro em /logs? Algum plugin incomum?
Não vejo nada óbvio. Se você entrar no console e digitar Jobs::BadgeGrant, o que acontece? Deve aparecer algo assim:
[1] pry(main)> Jobs::BadgeGrant
=> Jobs::BadgeGrant
Você tem algum plugin que possa estar interferindo?
Aqui estão os ativados — tento usar apenas os populares e suportados:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-staff-notes.git
- git clone https://github.com/joebuhlig/discourse-feature-voting.git
- git clone https://github.com/discourse/discourse-checklist.git
- git clone https://github.com/discourse/discourse-cakeday.git
- git clone https://github.com/discourse/discourse-saved-searches.git
- git clone https://github.com/discourse/discourse-canned-replies.git
- git clone https://github.com/discourse/discourse-assign.git
- git clone https://github.com/discourse/discourse-bbcode.git
- git clone https://github.com/angusmcleod/discourse-locations.git
- git clone https://github.com/discourse/discourse-adplugin.git
- git clone https://github.com/angusmcleod/discourse-custom-wizard.git
Obrigado.
Abaixo de Agendador, agora posso ver os seguintes:
- Jobs::GrantNewUserOfTheMonthBadges
- Jobs::GrantAnniversaryBadges
- Jobs::BadgeGrant
Todos os trabalhos do Agendador aparecem na seção “Trabalhos Recorrentes”.
Agora, é seguro para mim clicar no botão “Disparar” e ver o que acontece?
Ah, bom – isso torna a solução muito mais simples!
Sim, o botão de acionamento é seguro ![]()
Obrigado, está rodando agora.
Na última vez, levou 10 mil segundos, então vou verificar novamente amanhã de manhã.
Existe alguma maneira de processar um emblema específico? Talvez pela linha de comando?
10 mil segundos é muito! No meta, leva 500 segundos. Talvez uma das suas consultas de medalhas personalizadas não seja muito eficiente? (é por isso que desativamos a funcionalidade SQL personalizada por padrão)
Obrigado! Revisei as consultas rapidamente, fiz um pequeno ajuste e agora o processo leva apenas ~1k segundos. Também publiquei minha pergunta sobre otimização SQL em um tópico separado.
Voltando às medalhas - agora funcionou e todas as medalhas foram concedidas. Obrigado pela sua ajuda e pelas respostas rápidas.



