質問: 現在Railsで簡易的な掲示板のようなものを作っています 自分で指定したコメントを、一定時間おきに自動で投稿するようにしたいのですがどのような記述をすればいいのかが思い浮かびません。 commentsテーブルにストックしておいたいくつかのコメントの中からランダムで1つ選び出し、postsテーブルに書き写す、というような機能を作りたいです。 分かりずらくて申し訳ありません。 調べていたところcronを使わないといけないようなのですが、そうなのでしょうか また、投稿の時間指定についてなのですが、「24時間のうちにランダムに50回」などというあいまいな指定をすることは可能でしょうか?
回答: プロセスをずっと稼働させ続けるなら別ですけど、普通はcronを使います。 Rails には Task という機能があるので、 lib/tasks/hoge.rake に置いたファイルをrake コマンドで実行できます。 ``` #> rake hoge:start namespace :hoge do task :start => :environment do # 処理 end end ``` cron はたとえば以下のように書けます。 ``` 0 * * * * /bin/bash -l -c 'cd /path/to/project && bundle exec rake hoge:start' ``` n時間内にm回というのは難しそうですね。 1日1回、10分単位のラムダム時間のリストを作成しおいて 10分毎のcronで実行するかどうかチェックするとかでしょうか。