En mi plugin, necesito algo como: cada vez que se envía una solicitud Ajax a “/admin/plugins/delete_all_posts”, quiero programar un trabajo cron en el servidor que se ejecute cada dos minutos hasta que la tarea finalice. A continuación, se muestra el código y las líneas comentadas que acabo de intentar, pero que me dan un error cuando envío una solicitud Ajax.
He escrito el código para un trabajo en
=> lib\jobs\scheduled\delete_user_posts_job.rb
también intenté moverlo a
=> 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
# Requerir el archivo de trabajo para cargar la clase de trabajo
# require_dependency Rails.root.join('plugins', 'delete-topic-ui', 'app', 'jobs', 'scheduled', 'delete_user_posts_job')
# Iniciar el trabajo cron para eliminar publicaciones del usuario especificado
#::Jobs::Scheduled::DeleteUserPostsJob.enqueue
# Jobs::Scheduled::DeleteAllPosts.enqueue
[200, {}, ['Se ha programado el trabajo cron para eliminar las publicaciones del usuario']]
}