SOAPpy port reuse
Maurice LING
mauriceling at acm.org
Sun Nov 18 09:17:42 EST 2007
Diez B. Roggisch wrote:
> Maurice LING schrieb:
>> Hi,
>>
>> I have a problem:
>>
>> 1. Assuming that my application is a SOAP server that uses SOAPpy,
>> 2. I am given port 35021 for use.
>>
>> What I normally do (simply) is:
>>
>> functionlist = [<some exposed functions>]
>> import SOAPpy
>> server = SOAPpy.SOAPServer((<some host>, 35021))
>> for func in functionlist: server.registerFunction(func)
>> server.serve_forever()
>>
>> My question is: How can I shutdown this server and reuse port 35021
>> when my functionlist changes?
>>
>> Currently, after killing the python process which runs this SOAP
>> server, the port (35021 in this case) cannot be re-used, as though it
>> is still phantom-ly bounded to some process (which should have been
>> killed).
>
> It shouldn't be that way. Either you still have some process lying
> around hogging the port. Or the OS needs a while to re-enable the port
> for allocation. That happened to me quite a few times.
>
> Shutting down gracefully might speed up things I guess.
>
I am under the impression that SOAPpy.SOAPServer.serve_forever() is an
"endless" loop. I had been suggested to see if there is a method of
SOAPpy.SOAPServer (which I can call through a wrapper function in
functionlist) that can enable me to gracefully shutdown the server.
Any advice?
Thanks
Maurice
More information about the Python-list
mailing list