Ich muss täglich ein einfaches Skript mit bestimmten Parametern ausführen, wie hier gezeigt. Wenn ich es manuell starte:
bundle exec rails runner auto_send_messages_script.rb --messages-limit 3 --sleep-timer 5 --marker welcome_back_campaign_2025 --order-type created_at —-order desc
Sehe ich keine Fehler und alles funktioniert einwandfrei. Ich bin neu bei Ruby und frage mich, ob es eine einfache Möglichkeit gibt, dieses Skript auszuführen und mit Discourse zu interagieren.
1 „Gefällt mir“
merefield
(Robert)
13. Februar 2025 um 19:35
2
Der Discourse-Weg (und der Rails-Weg) wäre, ein Plugin zu erstellen und es als geplante (Sidekiq-)Job auszuführen.
Es gibt viele Plugins mit Jobs, schau sie dir an.
3 „Gefällt mir“
supermathie
(Michael Brown)
13. Februar 2025 um 19:50
3
Aus Sicht der Anwendungsentwicklung:
Robert:
Der Discourse (und Rails) Weg, dies zu tun, wäre, ein Plugin zu erstellen und es als geplante (Sidekiq) Job auszuführen.
Aus Sicht des Systems:
Am einfachsten ist es, es auf dem Host auszuführen.
You have a scheduler outside of the container available, right?
You can schedule it there, e.g.:
# put in host crontab
# run backup once every 4 hours on the hour
0 */4 * * * docker exec app discourse backup --sql-only
3 „Gefällt mir“