...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


In reply to Re^5: Looping through database query to send emails is taking too long by Anonymous Monk
in thread Looping through database query to send emails is taking too long by htmanning

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.