Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mail::spamassassin::timeout(3) [centos man page]

Mail::SpamAssassin::Timeout(3)				User Contributed Perl Documentation			    Mail::SpamAssassin::Timeout(3)

NAME
Mail::SpamAssassin::Timeout - safe, reliable timeouts in perl SYNOPSIS
# non-timeout code... my $t = Mail::SpamAssassin::Timeout->new({ secs => 5, deadline => $when }); $t->run(sub { # code to run with a 5-second timeout... }); if ($t->timed_out()) { # do something... } # more non-timeout code... DESCRIPTION
This module provides a safe, reliable and clean API to provide alarm(2)-based timeouts for perl code. Note that $SIG{ALRM} is used to provide the timeout, so this will not interrupt out-of-control regular expression matches. Nested timeouts are supported. PUBLIC METHODS
my $t = Mail::SpamAssassin::Timeout->new({ ... options ... }); Constructor. Options include: secs => $seconds time interval, in seconds. Optional; if neither "secs" nor "deadline" is specified, no timeouts will be applied. deadline => $unix_timestamp Unix timestamp (seconds since epoch) when a timeout is reached in the latest. Optional; if neither secs nor deadline is specified, no timeouts will be applied. If both are specified, the shorter interval of the two prevails. $t->run($coderef) Run a code reference within the currently-defined timeout. The timeout is as defined by the secs and deadline parameters to the constructor. Returns whatever the subroutine returns, or "undef" on timeout. If the timer times out, "$t-<gt"timed_out()> will return 1. Time elapsed is not cumulative; multiple runs of "run" will restart the timeout from scratch. On the other hand, nested timers do observe outer timeouts if they are shorter, resignalling a timeout to the level which established them, i.e. code running under an inner timer can not exceed the time limit established by an outer timer. When restarting an outer timer on return, elapsed time of a running code is taken into account. $t->run_and_catch($coderef) Run a code reference, as per "$t-<gt"run()>, but also catching any "die()" calls within the code reference. Returns "undef" if no "die()" call was executed and $@ was unset, or the value of $@ if it was set. (The timeout event doesn't count as a "die()".) $t->timed_out() Returns 1 if the most recent code executed in "run()" timed out, or "undef" if it did not. $t->reset() If called within a "run()" code reference, causes the current alarm timer to be restored to its original setting (useful after our alarm setting was clobbered by some underlying module). perl v5.16.3 2011-06-06 Mail::SpamAssassin::Timeout(3)

Check Out this Related Man Page

Mail::SpamAssassin::Plugin::Pyzor(3pm)			User Contributed Perl Documentation		    Mail::SpamAssassin::Plugin::Pyzor(3pm)

NAME
Mail::SpamAssassin::Plugin::Pyzor - perform Pyzor check of messages SYNOPSIS
loadplugin Mail::SpamAssassin::Plugin::Pyzor DESCRIPTION
Pyzor is a collaborative, networked system to detect and block spam using identifying digests of messages. See http://pyzor.sourceforge.net/ for more information about Pyzor. USER OPTIONS
use_pyzor (0|1) (default: 1) Whether to use Pyzor, if it is available. pyzor_max NUMBER (default: 5) This option sets how often a message's body checksum must have been reported to the Pyzor server before SpamAssassin will consider the Pyzor check as matched. As most clients should not be auto-reporting these checksums, you should set this to a relatively low value, e.g. 5. ADMINISTRATOR OPTIONS
pyzor_timeout n (default: 3.5) How many seconds you wait for Pyzor to complete, before scanning continues without the Pyzor results. You can configure Pyzor to have its own per-server timeout. Set this plugin's timeout with that in mind. This plugin's timeout is a maximum ceiling. If Pyzor takes longer than this to complete its communication with all servers, no results are used by SpamAssassin. Pyzor servers do not yet synchronize their servers, so it can be beneficial to check and report to more than one. See the pyzor-users mailing list for alternate servers that are not published via 'pyzor discover'. If you are using multiple Pyzor servers, a good rule of thumb would be to set the SpamAssassin plugin's timeout to be the same or just a bit more than the per-server Pyzor timeout (e.g., 3.5 and 2 for two Pyzor servers). If more than one of your Pyzor servers is always timing out, consider removing one of them. pyzor_options options Specify additional options to the pyzor(1) command. Please note that only characters in the range [0-9A-Za-z ,._/-] are allowed for security reasons. pyzor_path STRING This option tells SpamAssassin specifically where to find the "pyzor" client instead of relying on SpamAssassin to find it in the current PATH. Note that if taint mode is enabled in the Perl interpreter, you should use this, as the current PATH will have been cleared. perl v5.14.2 2011-06-06 Mail::SpamAssassin::Plugin::Pyzor(3pm)
Man Page