私は、人々が販売するものを置くサイトを持っています。 毎月、何か売り物を持っているすべてのユーザーは、Windowsサービスから、そのアイテムが売れたかどうかを尋ねる電子メールを送信し、クリックするカスタムリンクを与えます(これは、販売されているサイトに残るアイテム)。ループせずに何千もの個別のメールを送信する
まず、すべての未販売アイテムと関連ユーザーのメールを取得するためにクエリを実行する必要があります。 現在、私はこれらのすべてをループしており、各自のカスタムメールを生成し、個々のメールとして送信しています。
foreach (Item unsoldItem in unsoldItemsCollection)
{
//generate email
string email = GenerateUnsoldEmail(itemName, itemPrice);
Utils.Sendemail(unsoldItem .UserEmail, "[email protected]", "Unsold Item", email);
}
(これは擬似コードの一種であるが、これは私がやっているほとんどである)
私の問題は、(それが離陸する場合:)何百万人も多分、)おそらく数千人があるかもしれないですがそのループ内のアイテムはすべて電子メールを必要としますが、これは問題を引き起こすと思います。
これ以外の方法は何ですか?
Bexの
どのような問題がありますか? これは、何らかのサービスとして実行する必要があります。そのため、多くの時間がかかると、メインサイトの実行に害を与えません。 – ElDog
私は間違いだと思うかもしれませんが、何百万ものアイテムを連続的にループしていて、それぞれ時間がかからずサーバーメモリを使い果たしてしまうのであれば、私は考えていますか? 私はたぶん何らかの差し込みを考えていました。わかりません。 – Bex
あなたのループは問題ありません。一般的には、***は現在作業中のシンプルなものを得ることができます***。何が起きるのか心配します。何百万人ものユーザーがいる場合は、問題を解決するための良いチームを用意する余裕があります。 –