Nel mio plugin, ho bisogno di qualcosa del tipo: ogni volta che viene inviata una richiesta Ajax a “/admin/plugins/delete_all_posts”, voglio pianificare un cron job sul server che venga eseguito ogni due minuti fino al completamento dell’attività. Di seguito è riportato il codice e le righe commentate che ho provato ma che generano un errore quando invio una richiesta Ajax.
Ho scritto il codice per un job in
=> lib\jobs\scheduled\delete_user_posts_job.rb
ho anche provato a spostarlo in
=> 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
# Richiedi il file del job per caricare la classe del job
# require_dependency Rails.root.join('plugins', 'delete-topic-ui', 'app', 'jobs', 'scheduled', 'delete_user_posts_job')
# Avvia il cron job per eliminare i post dell'utente specificato
#::Jobs::Scheduled::DeleteUserPostsJob.enqueue
# Jobs::Scheduled::DeleteAllPosts.enqueue
[200, {}, ['Il cron job per l'eliminazione dei post dell'utente è stato pianificato']]
}