|
Posted by John Nichel on 11/23/05 18:55
Petr Smith wrote:
>>> Thanks to those who have replied so far, yes our main concern is the
>>> smtp server falling over or dying. So to come back to John Nichel's
>>> answer:
>>>
>>> John, have you done this personally and I assume the effects were
>>> good?? IE everything ran smoothly?
>>
>>
>>
>> I have done it just as John has described above, though I didn't have
>> 8000
>> to send. All went well, no hiccups. A couple of things I would
>> mention is
>> that I seem to remember reading somewhere that the sleep() function on
>> Windows eats a lot of processor. Not an issue for me since I'm on Linux,
>> but worth a mention. And the function John suggested above will take
>> over
>> 22 hours to send 8000 emails. Since you say its a one shot deal, its
>> probably OK.
>>
>
> I don't think the long running script with sleep function is the best
> approach to this problem. I would recommend writing the whole queue
> somewhere (to database) and run script every 5 minutes, load some not
> sent yet e-mails (100), send them and write info (it_was_sent tag) back
> to database.
What's to stop you from writing this 'sent tag' using the sleep method?
What I wouldn't like about the every 5 minutes cron method is that the
script will run _every_ five minutes regardless if it's sending mail or
not. Not to mention the fact that even with a small number like a 100,
you could still cause problems with the mail server trying to make that
many SMTP connections in less than a second or two.
> It's always better to not have long running script, you never know what
> can go wrong and if it fails somewhere or process is killed or machine
> rebooted or something happens, you don't know which emails were sent and
> which not. And there's no stupidest thing as sending the same company
> newsletter twice to the same client.
You computer is full of scripts/programs/daemons that have long
runs...some 24/7. That isn't a problem as long as you think ahead.
With proper logging, I can easily pick up where I left off should the
script fail for one reason or another.
--
John C. Nichel IV
Programmer/System Admin (ÜberGeek)
Dot Com Holdings of Buffalo
716.856.9675
jnichel@dotcomholdingsofbuffalo.com
Navigation:
[Reply to this message]
|