crashmail Documentation¶
crashmail is a supervisor “event listener”, intended to be
subscribed to PROCESS_STATE_EXITED
events. When crashmail
receives that event, and the transition is “unexpected”, crashmail
sends an email notification to a configured address.
crashmail is incapable of monitoring the process status of processes which are not supervisord child processes.
crashmail is a “console script” installed when you install
superlance
. Although crashmail is an executable program, it
isn’t useful as a general-purpose script: it must be run as a
supervisor event listener to do anything useful.
Command-Line Syntax¶
$ crashmail [-p processname] [-a] [-o string] [-m mail_address] \
[-s sendmail]
-
-p
<process_name>
,
--program
=<process_name>
¶ Send mail when the specified supervisord child process transitions unexpectedly to the
EXITED
state.This option can be provided more than once to have crashmail monitor more than one program.
To monitor a process which is part of a supervisord group, specify its name as
group_name:process_name
.
-
-a
,
--any
¶
Send mail when any supervisord child process transitions unexpectedly to the
EXITED
state.Overrides any
-p
parameters passed in the same crashmail process invocation.
-
-o
<prefix>
,
--optionalheader
=<prefix>
¶ Specify a parameter used as a prefix in the mail Subject header.
-
-s
<sendmail_command>
,
--sendmail_program
=<sendmail_command>
¶ Specify the sendmail command to use to send email.
Must be a command which accepts header and message data on stdin and sends mail. Default is
/usr/sbin/sendmail -t -i
.
-
-m
<email_address>
,
--email
=<email_address>
¶ Specify an email address to which crash notification messages are sent. If no email address is specified, email will not be sent.
Configuring crashmail Into the Supervisor Config¶
An [eventlistener:x]
section must be placed in supervisord.conf
in order for crashmail to do its work. See the “Events” chapter in
the Supervisor manual for more information about event listeners.
The following example assumes that crashmail is on your system
PATH
.
[eventlistener:crashmail]
command=crashmail -p program1 -p group1:program2 -m dev@example.com
events=PROCESS_STATE_EXITED