Log fast-ramp queue-run trigger
authorJeremy Harris <jgh146exb@wizmail.org>
Fri, 3 Apr 2020 20:48:21 +0000 (21:48 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Fri, 3 Apr 2020 20:48:21 +0000 (21:48 +0100)
src/src/daemon.c
test/confs/0999
test/scripts/0999-EXP-Queue-Ramp/0999
test/stderr/0999

index 1a747af..3b21d27 100644 (file)
@@ -2180,6 +2180,7 @@ for (;;)
 #ifdef EXPERIMENTAL_QUEUE_RAMP
            if (*queuerun_msgid)
              {
 #ifdef EXPERIMENTAL_QUEUE_RAMP
            if (*queuerun_msgid)
              {
+             log_write(0, LOG_MAIN, "notify triggered queue run");
              extra[extracount++] = queuerun_msgid;     /* Trigger only the */
              extra[extracount++] = queuerun_msgid;     /* one message      */
              }
              extra[extracount++] = queuerun_msgid;     /* Trigger only the */
              extra[extracount++] = queuerun_msgid;     /* one message      */
              }
@@ -2214,6 +2215,7 @@ for (;;)
 #ifdef EXPERIMENTAL_QUEUE_RAMP
          if (*queuerun_msgid)
            {
 #ifdef EXPERIMENTAL_QUEUE_RAMP
          if (*queuerun_msgid)
            {
+           log_write(0, LOG_MAIN, "notify triggered queue run");
            f.queue_2stage = FALSE;
            queue_run(queuerun_msgid, queuerun_msgid, FALSE);
            }
            f.queue_2stage = FALSE;
            queue_run(queuerun_msgid, queuerun_msgid, FALSE);
            }
index 80d261f..6ec62b6 100644 (file)
@@ -13,11 +13,18 @@ log_selector = +sender_on_delivery +millisec
 
 # ----- Main settings -----
 
 
 # ----- Main settings -----
 
-acl_smtp_rcpt = accept
+acl_smtp_rcpt = chk_rcpt
 
 
-queue_only
+smtp_accept_queue_per_connection = 0
 queue_fast_ramp
 
 queue_fast_ramp
 
+begin acl
+
+chk_rcpt:
+  warn condition =     ${if eq {local-smtp}{$received_protocol}}
+       control =       queue_only
+  accept
+
 # ----- Routers -----
 
 begin routers
 # ----- Routers -----
 
 begin routers
index 688c24c..827b7b9 100644 (file)
@@ -671,14 +671,17 @@ exim -odd -qq
 #
 #
 killdaemon
 #
 #
 killdaemon
+sleep 1
 #
 # Only check that we logged the right number of messages; don't care
 # about ordering or mistakes in wrong message-id
 sudo perl
 system "egrep -v '(Completed|<=|=>|is locked)' DIR/spool/log/mainlog 1>&2";
 system "awk '/OK id=/{i++} END{print i, \"messages in\"}' DIR/test-stdout 1>&2";
 #
 # Only check that we logged the right number of messages; don't care
 # about ordering or mistakes in wrong message-id
 sudo perl
 system "egrep -v '(Completed|<=|=>|is locked)' DIR/spool/log/mainlog 1>&2";
 system "awk '/OK id=/{i++} END{print i, \"messages in\"}' DIR/test-stdout 1>&2";
-system "grep -q '=>' DIR/spool/log/servermainlog && echo 'daemon did make at least one delivery' 1>&2";
+system "grep 'notify' DIR/spool/log/servermainlog 1>&2";
+system "grep -q '=> bob' DIR/spool/log/servermainlog && echo 'daemon did make at least one delivery' 1>&2";
 system "awk '/<=/{i++} END{print i, \"messages received by dest\"}' DIR/spool/log/servermainlog 1>&2";
 system "awk '/<=/{i++} END{print i, \"messages received by dest\"}' DIR/spool/log/servermainlog 1>&2";
+system "ls DIR/spool/input 1>&2";
 ****
 sudo rm DIR/spool/log/mainlog DIR/spool/log/servermainlog
 no_stdout_check
 ****
 sudo rm DIR/spool/log/mainlog DIR/spool/log/servermainlog
 no_stdout_check
index a129555..e958d86 100644 (file)
@@ -1,7 +1,89 @@
+2017-07-30 18:51:05.712 10HmaX-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmaY-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmaZ-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbA-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbB-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbC-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbD-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbE-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbF-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbG-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbH-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbI-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbJ-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbK-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbL-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbM-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbN-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbO-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbP-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbQ-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbR-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbS-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbT-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbU-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbV-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbW-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbX-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbY-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmbZ-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcA-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcB-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcC-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcD-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcE-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcF-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcG-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcH-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcI-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcJ-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcK-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcL-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcM-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcN-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcO-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcP-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcQ-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcR-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcS-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcT-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcU-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcV-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcW-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcX-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcY-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmcZ-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdA-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdB-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdC-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdD-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdE-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdF-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdG-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdH-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdI-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdJ-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdK-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdL-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdM-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdN-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdO-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdP-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdQ-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdR-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdS-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdT-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdU-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdV-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdW-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdX-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdY-0005vi-00 no immediate delivery: queued by ACL
+2017-07-30 18:51:05.712 10HmdZ-0005vi-00 no immediate delivery: queued by ACL
 2017-07-30 18:51:05.712 Start queue run: pid=pppp -qq
 2017-07-30 18:51:05.712 End queue run: pid=pppp -qq
 81 messages in
 2017-07-30 18:51:05.712 Start queue run: pid=pppp -qq
 2017-07-30 18:51:05.712 End queue run: pid=pppp -qq
 81 messages in
+2017-07-30 18:51:05.712 notify triggered queue run
 daemon did make at least one delivery
 daemon did make at least one delivery
-80 messages received by dest
+81 messages received by dest
 
 ******** SERVER ********
 
 ******** SERVER ********