2

次の表「users」(この質問の目的のために簡略化されています)と非増分ID(私の設計ではありませんが、それと一緒に暮らす必要があります)があります

userUUID                                email
----------------------------------------------------
44384582-11B1-4BB4-A41A-004DFF1C2C3     dabac@sdfsd.com
3C0036C2-04D8-40EE-BBFE-00A9A50A9D81    sddf@dgfg.com
20EBFAFE-47C5-4BF5-8505-013DA80FC979    sdfsd@ssdfs.com
...

テーブルをループして登録ユーザーにメールを送信するプログラムを実行しています。try / catchブロックを使用して、失敗したレコードのUUIDをテキストファイルに記録しています。その後、プログラムは停止し、再起動する必要があります。

プログラムが再起動されたときに、成功したものに電子メールを再送信したくありませんが、失敗したレコードから始めます。これは、失敗したレコードの後に​​作成されたレコードを処理する必要があることを意味すると思います。

どうすればよいですか?

4

2 に答える 2

6

UUID が既にメール送信されている場所 (たとえば、別のテーブル、または元のテーブルの「WelcomeEmailSent」などと呼ばれる BIT 列など) を追跡してみませんか? そうすれば、プログラムがどこで停止したり、どのような状態になっていたとしても、再び起動し、中断した場所を常に知ることができます。

于 2012-05-02T04:30:28.973 に答える
3
  1. 列ごとに並べ替える (この場合は をお勧めしuserUUIDます)
  2. するwhere userUUID > 'your-last-uuid'
于 2012-05-02T04:25:09.297 に答える