興味深い難問。これが私がやりたいことです:
Herokuで実行されているPyramid(python 2.7.2)Webサイトがあり、iPhoneアプリユーザーに通知をプッシュします。毎日、すべてのユーザーは、午前10時から午後10時までのランダムに生成された時間にプッシュ通知を送信する必要があります(明らかにユーザーのタイムゾーンも知っている必要があります)。
私の現在の計画は次のとおりです。永続ワーカープロセスを使用して、1分ごとに1分ごとに関数をトリガーします。毎分、2つのことを行う関数(タイマーを中断しないように別のスレッドで)を呼び出します。
各タイムゾーンで午後11時かどうかを確認します(これは1日24回、各タイムゾーンで1回発生します)。trueの場合、それぞれのタイムゾーンですべてのユーザーをループし、翌日のランダムな時間を生成する関数を呼び出し、それをMongoデータベースに保存します。
毎分、ワーカーはユーザーをループし、その時点で通知の期限があるかどうかを確認します。期限が来ている場合は、通知を送信します。
私の質問は次のとおりです。事前に毎日ランダムな日時の膨大なリストを生成する必要がない、これを行うためのより良い方法はありますか?