You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Doug MacEachern <do...@covalent.net> on 2000/12/22 06:38:01 UTC

Re: cybersource generating lots of zombies

On Fri, 10 Nov 2000, Peter J. Schoenster wrote:

> Hi,
> 
> Anyone use cybersource?

yep, but not using their client.  (plug time)  i actually had the somewhat
recent pleasure of rewriting their client library from scratch.
that was mostly done because the original is tied to RSA Tipem, which RSA
no longer supports, hence their short/old list of supported platforms.
plenty of other improvements were made too.
it's for a product i'm working on at covalent called 'Credator', and is
due to ship at the end of this month.  the core is written in C, and has
thin Perl, PHP, Java and Python layers ontop.  part of what the product
offers is a DBI-spirit interface to credit card clearing houses.  i.e.,
the interface is the same no matter what clearing house you use.

httpd.conf is configured like so:
<Credator cybersource>
    CredatorUserName ICS2Test
    CredatorPassWord ICS2Test
    CredatorTest On
    #On points the test server, e.g. ics2test.ic3.com
</Credator>

api looks like so:
my $crd = Apache::Credator->new($r);

$crd->field(name => "john doe");
$crd->field(amount => '27.01');
$crd->field(expiration => "1209");
$crd->field(card_number => "4007000000027");

if ($crd->submit) {
    printf "success! authorization=%s\n", $crd->authorization;
}
else {
    printf "failure! error=%s\n", $crd->error_message;
}

to switch to another clearing house, just change httpd.conf, the app is
untouched:
<Credator verisign>
    CredatorUserName Test
    CredatorPassWord Test
    CredatorTest On
    #test.signio.com
</Credator>

> I'm using it in a mod_perl environement (registry) and whenever I 
> call the cybersource stuff it creates zombies on my system: look 
> at this (498 zombie):
> 
>  1:36pm  up 10 days, 19:09,  2 users,  load average: 0.51, 0.53 
> 570 processes: 70 sleeping, 2 running, 498 zombie, 0 stopped
> 
>   PID USER     PRI  NI  SIZE  RSS SHARE STAT  LIB %CPU 
> %MEM   TIME COMMAND
> 14112 nobody    16   0     0    0     0 Z       0 15.3  0.0   0:00 
> do_enc2 <defunct>
> 
> It seems do_enc2 might be invovled (lots of it everywhere).

Credator does not fork any programs, hence no zombies, might what to try
that when it's released :)