Hi,
I'm very new to threading in .NET, so bear with me :-)
I'm planning to build a mail sender application for my client to send out
newsletters to its customers. The application should be built to handle at
least 15,000 customers. Potentially 40,000, but then I would probably
consider using the hosting provider's Mailing List product and send it the
database table to be sent.
I suppose the best way of doing this is to call the sender function within a
separate thread, loop through all email addresses and use Thread.Sleep to
wait for the SMTP server to catch up every now and then during the send
process.
Since the client clicks the send button and then probably exits the site,
will this thread still be running or will it time out/die?
Thanks for any kind of suggestions or help!
Regards,
Jonah Olsson 6 1362
Hi Jonah,
The Thread is yours for as long as you like. :-)
Regards,
fergus
Jonah,
With this potential volume of messages being sent, your best approach by far
is not to send the e-mails from your web application at all. Store the
message details and the recipient list to a database, then use another
application (which can easily be placed on another server or have multiple
instances running on multiple machines if necessary) to send out the actual
e-mails in batches of configurable size. This will allow you to better
control the volume issue and avoid crippling your web server with tasks that
have nothing to do with your web application UI.
HTH,
Nicole
"Jonah Olsson" <jo***@IHateSpam.com> wrote in message
news:OB**************@TK2MSFTNGP12.phx.gbl... Hi,
I'm very new to threading in .NET, so bear with me :-)
I'm planning to build a mail sender application for my client to send out newsletters to its customers. The application should be built to handle at least 15,000 customers. Potentially 40,000, but then I would probably consider using the hosting provider's Mailing List product and send it the database table to be sent.
I suppose the best way of doing this is to call the sender function within
a separate thread, loop through all email addresses and use Thread.Sleep to wait for the SMTP server to catch up every now and then during the send process.
Since the client clicks the send button and then probably exits the site, will this thread still be running or will it time out/die?
Thanks for any kind of suggestions or help!
Regards, Jonah Olsson
Hi Nicole and thanks for your reply,
Yes, that's probably what I would do then. At what volumes should I consider
the other dedicated application? Or did you mean the current 15,000?
Jonah
"Nicole Calinoiu" <ni*****@somewhere.net> skrev i meddelandet
news:u0**************@tk2msftngp13.phx.gbl... Jonah,
With this potential volume of messages being sent, your best approach by
far is not to send the e-mails from your web application at all. Store the message details and the recipient list to a database, then use another application (which can easily be placed on another server or have multiple instances running on multiple machines if necessary) to send out the
actual e-mails in batches of configurable size. This will allow you to better control the volume issue and avoid crippling your web server with tasks
that have nothing to do with your web application UI.
HTH, Nicole
"Jonah Olsson" <jo***@IHateSpam.com> wrote in message news:OB**************@TK2MSFTNGP12.phx.gbl... Hi,
I'm very new to threading in .NET, so bear with me :-)
I'm planning to build a mail sender application for my client to send
out newsletters to its customers. The application should be built to handle
at least 15,000 customers. Potentially 40,000, but then I would probably consider using the hosting provider's Mailing List product and send it
the database table to be sent.
I suppose the best way of doing this is to call the sender function
within a separate thread, loop through all email addresses and use Thread.Sleep
to wait for the SMTP server to catch up every now and then during the send process.
Since the client clicks the send button and then probably exits the
site, will this thread still be running or will it time out/die?
Thanks for any kind of suggestions or help!
Regards, Jonah Olsson
Perfect! :)
Jonah
"Fergus Cooney" <fi******@tesco.net> skrev i meddelandet
news:ep**************@tk2msftngp13.phx.gbl... Hi Jonah,
The Thread is yours for as long as you like. :-)
Regards, fergus
I think 15000 is already plenty, particularly if you could have multiple
users submitting simultaneous/overlapping mailings. If you don't have
another machine handy for running the mailer app, you can always put it on
the web server for now. You'll be able to move it quickly and easily to
another machine when/if the need arises.
HTH,
Nicole
"Jonah Olsson" <jo***@IHateSpam.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl... Hi Nicole and thanks for your reply,
Yes, that's probably what I would do then. At what volumes should I
consider the other dedicated application? Or did you mean the current 15,000?
Jonah
"Nicole Calinoiu" <ni*****@somewhere.net> skrev i meddelandet news:u0**************@tk2msftngp13.phx.gbl... Jonah,
With this potential volume of messages being sent, your best approach by far is not to send the e-mails from your web application at all. Store the message details and the recipient list to a database, then use another application (which can easily be placed on another server or have
multiple instances running on multiple machines if necessary) to send out the actual e-mails in batches of configurable size. This will allow you to better control the volume issue and avoid crippling your web server with tasks that have nothing to do with your web application UI.
HTH, Nicole
"Jonah Olsson" <jo***@IHateSpam.com> wrote in message news:OB**************@TK2MSFTNGP12.phx.gbl... Hi,
I'm very new to threading in .NET, so bear with me :-)
I'm planning to build a mail sender application for my client to send out newsletters to its customers. The application should be built to
handle at least 15,000 customers. Potentially 40,000, but then I would probably consider using the hosting provider's Mailing List product and send it the database table to be sent.
I suppose the best way of doing this is to call the sender function within a separate thread, loop through all email addresses and use Thread.Sleep to wait for the SMTP server to catch up every now and then during the
send process.
Since the client clicks the send button and then probably exits the
site, will this thread still be running or will it time out/die?
Thanks for any kind of suggestions or help!
Regards, Jonah Olsson
Perfect! Thanks a lot! :-)
J
"Nicole Calinoiu" <ni*****@somewhere.net> skrev i meddelandet
news:u5**************@TK2MSFTNGP09.phx.gbl... I think 15000 is already plenty, particularly if you could have multiple users submitting simultaneous/overlapping mailings. If you don't have another machine handy for running the mailer app, you can always put it on the web server for now. You'll be able to move it quickly and easily to another machine when/if the need arises. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Anthony Baxter |
last post by:
On behalf of the Python development team and the Python community, I'm
happy to announce the release of Python 2.3.1 (final).
Python 2.3.1 is a pure bug fix release of Python 2.3, released in...
|
by: Gilles Leblanc |
last post by:
Hi I have started a small project with PyOpenGL. I am wondering what
are the options for a GUI. So far I checked PyUI but it has some
problems with 3d rendering outside the Windows platform.
I...
|
by: Tony Proctor |
last post by:
Hi everyone
We're experiencing some serious anomalies with the scheduling of ASP
threads. I'd be interested to hear if anyone knows what algorithm is used
(e.g. simple round-robin, or something...
|
by: Jonathan Burd |
last post by:
Greetings everyone,
Here is a random string generator I wrote for an application
and I'm wondering about the thread-safety of this function.
I was told using static and global variables cause...
|
by: Cider123 |
last post by:
I ran into a situation where my Window Service had to process 100,000+
files, when I first noticed I needed to tweak various routines.
Everything runs fine, but here's what I ran into:
In the...
|
by: Matthew Groch |
last post by:
Hi all,
I've got a server that handles a relatively high number of concurrent
transactions (on the magnitude of 1000's per second). Client
applications establish socket connections with the...
|
by: Doug Thews |
last post by:
I ran into an interesting re-pain delay after calling the Abort() method on
a thread, but it only happens the very first time I call it. Every time
afterward, there is no delay.
I've got a...
|
by: puff |
last post by:
When interfacing to a COM object, is it possible to pump messages in a
thread?
I'm working on an application that automates IE and needs to monitor
IE events (yes I know about Pamie). I'm able...
|
by: Hans |
last post by:
Hi all,
Is there a way that the program that created and started a thread also stops
it.
(My usage is a time-out).
E.g.
thread = threading.Thread(target=Loop.testLoop)
thread.start() ...
|
by: scriptlearner |
last post by:
I am trying to put up a queue (through a logging thread) so that all
worker threads can ask it to log messages. However, the problem I am
facing is that, well, the logging thread itself is running...
|
by: DolphinDB |
last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation.
Take...
|
by: DolphinDB |
last post by:
Tired of spending countless mintues downsampling your data? Look no further!
In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: Vimpel783 |
last post by:
Hello!
Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
|
by: jfyes |
last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
|
by: ArrayDB |
last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
|
by: PapaRatzi |
last post by:
Hello,
I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: Defcon1945 |
last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
| |