2011-12-28 4 views
-1

ユーザーに特定の開始日時と終了日時を指定して提供するiPadアプリがあります。オファーは、ミドルウェアとして動作するJavaを介してサーバーに保管されます。要件は、他のユーザーが終了日時を過ぎた後にそのオファーを見ることができないようにすべきであるという要件です。特定の日付/時刻にアプリからデータを削除する

私はサーバーからオファーを削除するか、データベースにフラグを設定する必要があります。

私はこれを達成する方法を考えていますか?ポーリングは良い選択ですか、このシナリオを処理するためのよりよい方法があります。

+4

あなたは、単にビューを持つことができない(あるいは単にWHERE句)の事の '(offer_expiry> = NOW())'タイプを言うために任意の理由は?そのようなことのためのポーリングは意味がない。スケジュールでデータを非表示にする必要がある場合は、サーバー側のスケジューリングツールを使用してデータを処理します。 –

+3

あなたのipod/iphoneアプリがそのデータ用のミドルウェアサービスを使用している場合、これはミドルウェアで処理されないでしょうか?ユーザーがデータをリフレッシュすると、ミドルウェアは日付基準を満たさないデータを戻しません。 – tbone

答えて

1

なぜオファーをデータベース(サーバー)から削除してデータを失うのですか?

ミドルウェアは、現在の日付がオファーの開始日と終了日の間にあるオファーをデータベースから選択する必要があります。申し出をチェック

ユーザーは、現在あると定義することにより、その後期限切れ(またはまだアクティブになって)いるものを見ることができませんものが表示されます。

このようにして、実行する必要のある監査のためにデータベース内のオファーを引き続き保持します。

別の方法は、(コメントで示唆したように)だけ現在のオファーを選択するビューを使用してデータベースへの選択ロジックを移動するであろう。

ユーザーが所有しているすべてのオファーを見ることができるようにするには、これを選択基準に追加することもできます。経験則として

、私はすべてのレコードを維持し、それらをフィルタリングではなく、すぐに自分のアクティブ期間が終わったとして過ごしたオファーを取り除くずっと幸せになると思います。

あなたが構築、データボリュームを心配しているなら、あなたは別のテーブルに設定された保存期間の後にオファーをアーカイブすることができます(またはCDまたはあなたが本当にする必要がある場合でも、ちょうどそれらを削除します)。

はそれが役に立てば幸い

...