何かアドバイスをいただければと思います。
PHP/MySQL システムに会計台帳があり、定期的に (この例では、月に 1 回としましょう) 請求書が発行されます。また、特定の日付以降に適用する必要がある遅延料金もあります。請求書の「転記」日と「これは遅れています」の日付はすでに DB にあります。
台帳項目を自動的に (月に 1 回) 適用し、延滞料金を自動的に入力する (必要に応じて月に 1 回) スクリプトを実行するには、どの方法がよいか考えています。システムのすべてのユーザーについて、これらの日付は異なります - そして、私が言ったように、すべて DB に保存されます。私が見ている私のオプションは次のとおりです。
1 日に 1 回 (つまり、毎日午前 12:00) 実行される CRON ジョブを用意し、すべてのアイテムを処理して、日付条件が満たされた場合に作業を行います。
毎日同じ時間にすべてを一度に処理するので、私はこの方法が好きだと思います。
私はこの方法について心配しています: (1) CRON ジョブがスケジュールされたときにサーバーがダウンした場合、CPANEL はその日を完全にスキップしますか? (2) ふるいにかけるエントリが 10 万または 1 億ある場合、これを実行するたびにサーバーに耐えられないほどの負荷がかかりますか?
このスクリプトを呼び出して、日付条件が満たされた場合に「作業を実行」し、その関連ユーザーがログインした場合 にのみ実行します。
私がこの方法をあまり好まない理由は、適用する請求書の数と適用する遅延料金の数を判断するのがますます複雑になるためです。さらに、私には「管理者」ユーザーがいて、誰からでもすべてを見ることができます-テナントが最近十分にログインしていない場合、そのユーザーは最新の台帳情報を持っていない可能性があります...
私がこの方法を気に入っている理由は、明らかにサーバーの負荷が少ないからです...
たぶん、私は物事を考えすぎています。わかりません...しかし、アドバイスをいただければ幸いです。ありがとう。