Dans mon plugin, j’ai besoin de quelque chose comme ceci : chaque fois qu’une requête Ajax est envoyée à “/admin/plugins/delete_all_posts”, je veux planifier une tâche cron sur le serveur qui s’exécute toutes les deux minutes jusqu’à ce que la tâche soit terminée. Voici le code et les lignes commentées que j’ai essayées mais qui me donnent une erreur lorsque j’envoie une requête Ajax.
J’ai écrit le code pour une tâche dans
=> lib\jobs\scheduled\delete_user_posts_job.rb
j’ai aussi essayé de le déplacer vers
=> app\jobs\scheduled\delete_user_posts_job.rb
get '/admin/plugins/delete_all_posts' => proc { |_env|
uname = SiteSetting.delete_posts_for_username
userobj = User.find_by(username: uname)
#require_dependency File.expand_path("../app/jobs/scheduled/delete_user_posts_job.rb", __FILE__)
#::Jobs::DeleteUserPostsJob.enqueue
#::Jobs::Scheduled::DeleteUserPostsJob.enqueue
# Require the job file to load the job class
# require_dependency Rails.root.join('plugins', 'delete-topic-ui', 'app', 'jobs', 'scheduled', 'delete_user_posts_job')
# Start the cron job to delete posts for the specified user
#::Jobs::Scheduled::DeleteUserPostsJob.enqueue
# Jobs::Scheduled::DeleteAllPosts.enqueue
[200, {}, ['La tâche cron pour la suppression des publications de l'utilisateur a été planifiée']]
}