Los insignias se otorgan una vez al día.
¿Existe una forma de programar o forzar el proceso de otorgamiento “ahora mismo” desde la línea de comandos?
La forma más sencilla es visitar /sidekiq/scheduler y buscar trabajos que contengan la palabra “grant” en el nombre. Probablemente quieras Jobs::BadgeGrant, pero algunos insignias tienen sus propias tareas.
Revisé todas las tareas programadas en Sidekiq hasta 24 horas a partir de ahora, y ninguna contiene un token grant.
Está en producción en forum.kozovod.com.
Correcto, no hay entradas como en tu captura de pantalla.
Acabo de notar que no se me han otorgado insignias desde hace mucho tiempo. Estoy reconstruyendo el contenedor ahora y verificaré si la tarea se programará después del reinicio.
Además, noté que una de mis insignias de custom-sql tenía un error; ¿podría eso detener el funcionamiento de todas las demás insignias?
En teoría, no.
Creo que lo más probable es que haya ocurrido un problema con una actualización de docker-manager, por lo que algunas tareas de Sidekiq no se cargaron correctamente. Ojalá que al reconstruirlo vuelva a funcionar.
Bien, la reconstrucción salió bien.
Sin embargo, unos minutos después de completarse, aún no puedo encontrar ningún token grant en las más de 125 tareas programadas. ¿Significa esto que algo falla en mi configuración?
Sí, probablemente. ¿Tienes algún error en /logs? ¿Alguno plugin inusual?
No se ve nada obvio. Si entras a la consola y escribes Jobs::BadgeGrant, ¿qué sucede? Debería verse así:
[1] pry(main)> Jobs::BadgeGrant
=> Jobs::BadgeGrant
¿Tienes algún plugin que pueda estar interfiriendo?
Aquí están los habilitados: intento usar solo los populares y compatibles:
- 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
Gracias.
Debajo de Programador, ahora puedo ver los siguientes:
- Jobs::GrantNewUserOfTheMonthBadges
- Jobs::GrantAnniversaryBadges
- Jobs::BadgeGrant
Todos los trabajos del programador aparecen en la sección “Trabajos recurrentes”.
Ahora, ¿es seguro para mí hacer clic en el botón “Disparar” y ver qué sucede?
¡Ah, bien! Eso hace que esto sea mucho más sencillo de resolver.
Sí, el botón de activación es seguro ![]()
Gracias, ya se está ejecutando.
La última vez tardó 10 000 segundos, así que volveré a revisar mañana por la mañana.
¿Hay alguna manera de procesar un distintivo en particular? ¿Quizás desde la línea de comandos?
¡10 mil segundos es mucho! En meta, tarda 500 segundos. ¿Quizás alguna de tus consultas de insignias personalizadas no es muy eficiente? (por eso desactivamos la función de SQL personalizado de forma predeterminada)
Gracias, revisé las consultas rápidamente y ajusté una un poco, y ahora solo tomó ~1k segundos. También publiqué mi pregunta sobre optimización SQL en un tema separado.
Volviendo a las insignias: ahora funciona y todas las insignias han sido otorgadas. Gracias por tu ayuda y tus respuestas rápidas.



