Python API: sam v8_1_5
sam.closeServants()

Just having some fun...
This is the python interface to the command 'sam close servants'.
Command Description:

This command is worthless to CLI users.

For API users, this interface is provided so that
long-running python scripts that know they will not be
making any SAM calls in the future (or, at least, for
some time into the future) may close their servant
connections, freeing up resources for other users.

Details: obtaining a new servant connection is a rather
expensive operation.  Hence, the SAM client code is
designed to cache and re-use any servant connections that
are established.  The servants will be closed upon image
termination; however, if you know that you are done with
your sam connections before that time, you can close
them manually as a courtesy to others.  (The connections
will be re-established if needed at a later point
in the code).

Pseudo-code example:

    #!/usr/bin/env sampy
    from Sam import sam

    # do some sam stuff
    myListToWorkOn = sam.doSomething(...)

    # I will not be calling sam for a while;
    #  close my connections as a courtesy.
    sam.closeServants()

    # now do some long-running thing with my data:
    myResults = []
    for element in myListToWorkOn:
        myResults.append(doOtherStuff(element))

    # and now if I need to use sam again, my
    #  connections will be re-established as needed
    sam.doSomethingElse(myResults)
    

Python Usage:
	from Sam import sam
	result = sam.closeServants(...)

Return value: 

Arguments are passed as keyword-value pairs, as in:
	 myfunc(arg1='myarg', arg2='anotherarg', d=1)

Argument Keyword Description:
	(*) indicates that this keyword is required
	>>> indicates that either the API object or the CLI equivalent (<<<) is required
====================================================================================================================================
    KEYWORD                    DATA TYPE            DESCRIPTION
------------------------------------------------------------------------------------------------------------------------------------
    c                          SamBoolean           automatically close all servants after each method call
    corbaCallTimeout           int                  time in seconds for CORBA method calls to return before timing out (default: 0; zero implies no timeout)
    d                          SamBoolean           debug mode
    retryInterval              int                  retry interval base in seconds; will multiply this base times retryCount (default: 5)
    retryJitter                int                  retry jitter, random jitter added to base retry interval times retryCount (default: 5)
    retryMaxCount              int                  number of times to retry CORBA calls for retriable exceptions (default: 25; zero implies no retries)
    s                          SamBoolean           retrySilently mode (do not issue messages to stderr on proxy retries)
    t                          SamBoolean           time-it mode (print additional info on timings)
    v                          SamBoolean           verbose mode
====================================================================================================================================

Environment Defaults:
	c = os.environ['SAM_PYAPI_AUTO_CLOSE_SERVANTS']
	corbaCallTimeout = os.environ['SAM_PYAPI_CORBA_CALL_TIMEOUT']
	retryInterval = os.environ['SAM_PYAPI_RETRY_INTERVAL']
	retryJitter = os.environ['SAM_PYAPI_RETRY_JITTER']
	retryMaxCount = os.environ['SAM_PYAPI_RETRY_MAX_COUNT']
	s = os.environ['SAM_PYAPI_RETRY_SILENTLY']



See Also: