Re: [exim] How to identify when a receive-and-deliver dont n…

Top Page
Delete this message
Reply to this message
Author: W B Hacker
Date:  
To: exim users
Subject: Re: [exim] How to identify when a receive-and-deliver dont need more the message on the queue
Reinaldo Matukuma wrote:
>
> Hello.
>
> There are any way to know when a deliver process launched by a smtp
> receive process has successfully delivered by all the transports used
> for all the address received or also expanded by the alias redirect
> router?


*snip*

Of course. have a look at 'log_selector = '

MANY options.

The one I use (below) should drop right it. It shows all of the
information you seek, including PID of parent and each child (nice for
grep'ing) and each and every local or remote router/transport
completions, my 'unseen' archiving included - yet still generates
reasonably austere logs:

log_selector = +all -all_parents -queue_run -arguments -rejected_header

Plus some others NOT controlled by 'log_selector ='

+ Any acl with a 'log_message =' will add its output as well IF it is
triggered.

++ Any acl with a 'logwrite =' will add its message even if NOT
triggered, so long as it is 'traversed', but NOT if it was 'skipped' by
an 'endpass' or never reached by an earlier bail-out (defer or deny).

Here is what all that looks like for your post to this list.

I have redacted only my own specific my log_message lines to reduce
confusion:

=======

2011-05-27 02:59:53 [21219] SMTP connection from [131.111.8.192]:37119
I=[203.194.153.81]:25 (TCP/IP connection count = 1)

2011-05-27 02:59:57 [4813] 1QPnHI-0001Fd-73 <=
exim-users-bounces+conducive.org@??? H=tahini.csx.cam.ac.uk
[131.111.8.192]:37119 I=[203.194.153.81]:25 P=esmtp S=3955
id=BAY147-w3845E189B385E8794954A7C3760@??? T="[exim] How to identify
when a receive-and-deliver dont need more\n the message on the queue"
from <exim-users-bounces+conducive.org@???> for wbh@???

2011-05-27 02:59:58 [7734] 1QPnHI-0001Fd-73 => wbh <wbh@???>
F=<exim-users-bounces+conducive.org@???>
P=<exim-users-bounces+conducive.org@???> R=db_user T=db_delivery
S=3445 QT=2s DT=1s

2011-05-27 02:59:58 [7734] 1QPnHI-0001Fd-73 Completed QT=2s

2011-05-27 02:59:59 [4813] SMTP connection from tahini.csx.cam.ac.uk
[131.111.8.192]:37119 I=[203.194.153.81]:25 closed by QUIT

=====

Note that even if there were 12 lines, 4 hours ago, a grep on '[7734]'
would find everything that child process handled, dis-entangling it from
other log entries going on at the sane time. So all you need is any one
line and you can grab the PID and find the rest of its 'life story'.

Here are lines showing frozen messages:

2011-05-02 02:57:19 [23237] 1QGjJE-00025W-UZ == wbh@???
routing defer (-51): retry time not reached

2011-05-02 02:58:14 [6841] 1QGjJE-00025W-UZ == wbh@??? routing
defer (-51): retry time not reached

2011-05-02 03:00:04 [24874] 1QGjMf-0005fX-2s == wbh@???
<root@???> routing defer (-51): retry time not reached

Note new PID's. In this case, it is the message ID I, as in

1QGjJE-00025W-UZ

tha one would use to gep up the whole life-story.


At any 'real time' point you can also do:

'exiwhat'

...and Exim will count its children and tell you what the whole family
*was* doing at the time you asked.

Try it - especially if you think you have stuff in queue overlong.

Adjust to suit your needs.

Bill
--
韓家標