Abzeichen werden einmal pro Tag vergeben.
Gibt es eine Möglichkeit, den Vergabeprozess über die Befehlszeile „sofort" zu planen oder zu erzwingen?
Der einfachste Weg ist, /sidekiq/scheduler aufzurufen und nach Jobs mit dem Wort „grant
Ich habe alle geplanten Aufgaben in Sidekiq bis zu 24 Stunden in die Zukunft durchgesehen, und keine enthält ein grant-Token.
Es ist im Produktionsforum unter kozovod.com.
Richtig, keine Einträge wie auf deinem Screenshot.
Ich habe gerade bemerkt, dass mir seit langem keine Abzeichen mehr erteilt wurden. Ich baue den Container jetzt neu auf und prüfe, ob die Aufgabe nach dem Neustart geplant wird.
Außerdem habe ich festgestellt, dass bei einem meiner benutzerdefinierten SQL-Abzeichen ein Fehler aufgetreten ist – könnte das dazu führen, dass alle anderen Abzeichen nicht mehr funktionieren?
Theoretisch nein.
Am wahrscheinlichsten ist, dass ein Update des Docker-Managers schiefgelaufen ist, sodass einige Sidekiq-Jobs nicht geladen werden konnten. Sobald du es neu aufbaust, sollte es hoffentlich wieder funktionieren.
Okay, der Neuaufbau war erfolgreich.
Allerdings kann ich auch einige Minuten nach Abschluss keine grant-Tokens in den über 125 geplanten Aufgaben finden. Bedeutet das, dass bei meiner Einrichtung etwas schief läuft?
Ja, wahrscheinlich. Hast du Fehler in /logs? Ungewöhnliche Plugins?
Nichts Offensichtliches zu erkennen. Wenn du in eine Konsole gehst und Jobs::BadgeGrant eingibst, was passiert dann? Es sollte so aussehen:
[1] pry(main)> Jobs::BadgeGrant
=> Jobs::BadgeGrant
Hast du eventuell Plugins, die stören könnten?
Hier sind die aktivierten – ich verwende nur populäre und unterstützte:
- 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
Danke.
Unter Scheduler kann ich nun folgende sehen:
- Jobs::GrantNewUserOfTheMonthBadges
- Jobs::GrantAnniversaryBadges
- Jobs::BadgeGrant
Alle Scheduler-Jobs erscheinen im Abschnitt „Wiederkehrende Jobs".
Ist es jetzt sicher, dass ich auf die Schaltfläche „Auslösen" klicke und schaue, was passiert?
Ah, gut – das macht die Lösung viel einfacher!
Ja, der Auslöseknopf ist sicher ![]()
Danke, läuft jetzt.
Das letzte Mal hat es 10.000 Sekunden gedauert, also melde ich mich morgen früh wieder.
Gibt es eine Möglichkeit, ein bestimmtes Abzeichen zu verarbeiten? Vielleicht über die Befehlszeile?
10.000 Sekunden sind eine ganze Menge! Auf Meta dauert es 500 Sekunden. Vielleicht ist eine Ihrer benutzerdefinierten Abfragen für Abzeichen nicht sehr effizient? (Deshalb deaktivieren wir die benutzerdefinierte SQL-Funktion standardmäßig)
Danke, ich habe die Abfragen schnell überprüft und eine etwas optimiert; es dauert jetzt nur noch ca. 1.000 Sekunden. Ich habe meine Frage zur SQL-Optimierung auch in einem separaten Thema erneut veröffentlicht.
Zurück zu den Abzeichen – es funktioniert jetzt, und alle Abzeichen wurden vergeben. Vielen Dank für Ihre Unterstützung und die schnellen Antworten.



