Web ページからデータをスクレイピングするアプリがあります。このスクレイピングには約 5 ~ 10 分かかるため、ユーザー フレンドリーな操作とは言えません。ユーザーがページをスクレイピングする時間を設定してスケジュールし、終了したら警告するメールを送信できるようにしたいと思います。
ユーザー入力を考慮に入れるように rufus-scheduler を設定する方法はありますか? そうでない場合、どうすればいいですか?
Web ページからデータをスクレイピングするアプリがあります。このスクレイピングには約 5 ~ 10 分かかるため、ユーザー フレンドリーな操作とは言えません。ユーザーがページをスクレイピングする時間を設定してスケジュールし、終了したら警告するメールを送信できるようにしたいと思います。
ユーザー入力を考慮に入れるように rufus-scheduler を設定する方法はありますか? そうでない場合、どうすればいいですか?
宿題の質問、うーん。http://www.catb.org/~esr/faqs/smart-questions.html#idp54052224
漠然と次のようなフォームがあるとします。
<form action="/stupid/" method="POST">
<input type="text" name="schedule" />
</form>
それはStupidControllerに投稿しています:
class StupidController < ApplicationController
# POST requests for /stupid/ come here
#
def create
# expects something like "5m" or "10d"
s = params[:schedule]
@job_id =
Rufus::Scheduler.singleton.in(s) do
# do the job...
end
end
end
コントローラーは、ユーザーが選択したスケジュールをフォーム データから抽出し、ジョブをスケジュールします。
rufus-scheduler を使用してレールでコントローラー メソッドをスケジュールできますか? そうすれば、人に仕事を頼むのではなく、学ぶために時間を費やすべきです。