2016-04-22 11 views
0

毎週仕事をするのに最適な(よりシンプルな、スピード、エレガントな)方法は何ですか?毎週仕事をしてください

私は毎週仕事をする必要がありますが、ユーザーごとにユーザーのサインアップ日から数えます。例えば

、月曜日に

ユーザー1サインアップ、このユーザのジョブが(サインアップの月曜日を除く)火曜日に

ユーザー2サインアップ、このために仕事を毎週月曜日に実行されますユーザーは毎週火曜日に実行します(火曜日のサインアップを除く)

ジョブはデータベース内のフィールドをインクリメントするだけで簡単です。

私はLaravelフレームワークを使用していますので、ソリューションはLaravelフレームワークのコンテキストでは「エレガント」でなければなりません。

+0

私はあなたがすべてのユーザーのためにカスタムcronジョブを作成しなければならないと思います。 PHPのcronjobを作成する方法については、多くのチュートリアルがあります。 – treegarden

+0

@treegarden数千人のユーザーがいる可能性があるので、これは実用的ですか?そしてパフォーマンスについて? –

+5

毎日1つのcronジョブを実行することができます。月曜にサインアップしたユーザーは月曜日にチェックするだけです。それはデータベースのフィールドを増やしていることを考えると、本当に必要ですか?代わりに必要な時に値を再計算することで逃げることができますか? – andrewsi

答えて

0

Laravel Task Schedulingを使用してスケジュールされたタスクを作成することを解決しました。

毎週実行され、各ユーザーの過去の週を数え、それに応じてフィールドを増分します。

関連する問題