In meinem Plugin benötige ich etwas wie: Immer wenn eine Ajax-Anfrage an “/admin/plugins/delete_all_posts” gesendet wird, möchte ich einen Cron-Job auf dem Server planen, der alle zwei Minuten läuft, bis die Aufgabe abgeschlossen ist. Unten ist der Code und auskommentierte Zeilen, die ich gerade ausprobiert habe, aber sie geben mir einen Fehler, wenn ich eine Ajax-Anfrage sende.
Ich habe Code für einen Job geschrieben in
=> lib\jobs\scheduled\delete_user_posts_job.rb
habe auch versucht, ihn zu verschieben nach
=> 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
# Erforderlich die Job-Datei, um die Job-Klasse zu laden
# require_dependency Rails.root.join('plugins', 'delete-topic-ui', 'app', 'jobs', 'scheduled', 'delete_user_posts_job')
# Starten Sie den Cron-Job zum Löschen von Beiträgen für den angegebenen Benutzer
#::Jobs::Scheduled::DeleteUserPostsJob.enqueue
# Jobs::Scheduled::DeleteAllPosts.enqueue
[200, {}, ['Cron-Job zum Löschen von Benutzerbeiträgen wurde geplant']]
}