Hi Expert, I am using the PERL language with the PostgreSQL (...) however yesterday we faced the issue where PARL had sent the SIGALRM signal
First, to nitpick a bit, The Language is called "Perl" while the binary is called "perl" or "perl.exe", but that's just flavours. End of nitpick.
Most likely, your embedded perl procedure got a SIGALRM from somwhere else, terminated, and sent that signal upstream where you could see it. In your code, there isn't anything handling an ALARM signal. To debug, set $SIG{ALRM} to some subroutine which reports its arguments, probably along with other stuff, like timestamps or the state of some (global or local) variables or structures:
CREATE OR REPLACE FUNCTION sendclaimcoversheet(
text,
text)
RETURNS integer AS
$BODY$
use strict;
use warnings;
use SOAP::Lite;
use Try::Tiny;
use Time::Piece;
local $SIG{ALRM} = sub {
die "function sendclaimcoversheet caught ALRM with:\n(",
join( ",",@_)),")\n";
};
You should see the message "function sendclaimcoversheet caught ALRM" in the place where STDERR is collected. Go on from there.
perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'