Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Re: Re: Re: Re: Upgrading Perl in production environment

by jfroebe (Parson)
on Mar 19, 2004 at 17:47 UTC ( [id://338085]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Re: Re: Upgrading Perl in production environment
in thread Upgrading Perl in production environment

I guess I should have been more clear... the scripts for maintenance mostly and information gathering not for the trading itself.

The maintenance windows tend to be very short. If a scripts hangs on say a gethostbyaddr() then abort the call, and retry the gethostbyaddr().. if the script goes down, start the entire job over.

If the process normally takes 10 mins and if the script hangs on 9 mins 59seconds, then I would rather risk restarting that hanging operation then having to start all over again... if it goes down, then I will start it all over again.

  • Comment on Re: Re: Re: Re: Re: Upgrading Perl in production environment

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: Re: Upgrading Perl in production environment
by chip (Curate) on Mar 19, 2004 at 17:51 UTC
    Anything financial is almost by definition high value and should never involve the use of unsafe signals. You can call it "maintenance and information gathering" but that doesn't change anything.

    There are libraries for asynchronous DNS lookup. There are fork and pipes. There are lots of things you can do. If any of them involve unsafe signals ... well, let's just say I'd like to know where you wrote such a system so I can make sure not to invest my money there.

        -- Chip Salzenberg, Free-Floating Agent of Chaos

      I'm using "trading systems" as an example

      unfortunately, even the gethostbyaddr_r series of c functions can hang as well. depending on the load of the box and a dozen other reasons, the response from the name server (or whatever else) may not actually be received.

      If a signal comes in and perl core dumps with half finished work... that's fine, there are clean up routines that identify where the breakage occurred and repair whatever was broken.

      Using unsafe signals IS okay, IF the proper precautions are taken for recovery and continuing where it broke.

      What I'm saying is that unsafe signals do have their uses and should never be removed from perl entirely.. Perhaps perl should be fixed to handle them better?

        You just don't get it.

        It is never safe to use unsafe signals. You don't know what will happen. You can't be sure that when things go wrong you'll get a SEGV and program death, allowing for cleanup. You don't know what will happen. Nobody knows. Nobody can predict what an unsafe signal will cause. Nobody! That's what makes them "unsafe"!

        (What frame of mind is required for someone to think that it's safe to use a feature called "unsafe signals"? I can't fathom it, I just can't.)

            -- Chip Salzenberg, Free-Floating Agent of Chaos

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://338085]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2025-06-16 07:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.