プラグインで、Ajaxリクエストが「/admin/plugins/delete_all_posts」に送信されるたびに、タスクが完了するまで2分ごとに実行されるcronジョブをサーバーにスケジュールしたいと考えています。以下はコードと、試したがAjaxリクエストを送信するとエラーが発生するコメントアウトされた行です。
ジョブのコードは
=> lib\jobs\scheduled\delete_user_posts_job.rb
に記述しました。
=> 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_dependency Rails.root.join('plugins', 'delete-topic-ui', 'app', 'jobs', 'scheduled', 'delete_user_posts_job')
# 指定されたユーザーの投稿を削除するためのcronジョブを開始します
#::Jobs::Scheduled::DeleteUserPostsJob.enqueue
# Jobs::Scheduled::DeleteAllPosts.enqueue
[200, {}, ['ユーザー投稿削除のためのcronジョブがスケジュールされました']]
}