Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^5: Looping through database query to send emails is taking too long

by Anonymous Monk
on Jul 21, 2015 at 07:03 UTC ( [id://1135543]=note: print w/replies, xml ) Need Help??


in reply to Re^4: Looping through database query to send emails is taking too long
in thread Looping through database query to send emails is taking too long

...before the actual loop, the browser doesn't show it until the messages are sent. It flashes briefly before the confirmation screen is shown. It defeats the purpose of it.

You need two processes

One to tell the user , wait, wait, wait, its finished... using meta-refresh

And one background process to query the database and send the emails

Classic strategy is the following things :) Proc::Background, Highlander: one instance at a time (Oct 00), Watching long processes through CGI (Aug 02) , Throttling your web server (Oct 00)

Modern strategy is use ajax or websockets, examples Mojolicious::Lite +and jQuery +AJAX + Mojo::Template, Re^3: real-time output from Mojolicious WebSockets?

Still have to background the actual mailer ... but there might be an anyevent mail so you can avoid forking

Either way separate the stuff

  • Comment on Re^5: Looping through database query to send emails is taking too long

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1135543]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2024-04-24 02:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found