J’ai besoin d’exécuter un script simple tous les jours avec des paramètres spécifiques comme celui-ci. Quand je l’exécute manuellement :
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
Je ne vois pas d’erreurs et tout fonctionne bien. Je suis nouveau en Ruby et je me demande s’il existe une méthode simple pour exécuter ce script et interagir avec Discourse.
1 « J'aime »
La manière Discourse (et Rails) de faire cela serait de créer un plugin et de l’exécuter en tant que tâche planifiée (sidekiq).
Il existe de nombreux plugins avec des tâches, jetez-y un coup d’œil.
3 « J'aime »
D’un point de vue du développement d’applications :
D’un point de vue système :
La chose la plus simple à faire est de l’exécuter sur l’hôte.
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 « J'aime »