タグ

2012年1月18日のブックマーク (2件)

  • 定期的なテーブルのクリーンアップ

    ユーザ登録で仮登録、登録のステップを踏むケースでは仮登録で放置されるとデータベースにゴミが残りますので、これを定期的に削除します。 クリーンアップメソッドをモデルに追加 Userモデルに24時間以上経っていて、status がfalseのレコードを削除するメソッドを追加します。 def self.cleanup User.delete_all(["status = ? and update_at < ?",false,1.days.ago]); end ここで status = false と直接記載するとsqlite3ではエラーになります。sqlite3ではfalseは'f'として保存しているので status = 'f' と書けばエラーにならないのですが、これではほかのDBとの互換性がとれません。このようにプレースホルダをつかうと違いを吸収してくれるようです。script/runne

    定期的なテーブルのクリーンアップ
  • Ruby on Rails/定期的なバッチ処理を行う - 俺の基地

    定期的に実行 これはUnix系ならcronWindowsならタスクマネージャって感じで実行する。 ▲ ▼ Rails環境のバッチファイル Railsで作成したアプリのリソースをコマンドラインからキックするためのスクリプト script/runner が用意されているのでこれを使えばOK〜 こいつを ruby script/runner 'Hoge.piyo' -e production とかで起動できる。 これだとRailsのアプリケーションの環境そのままにHogeモデルのpiyoメソッドを呼び出すことができる。 eオプションをつけることにより実行環境を選べる ▲ ▼