Handling Infinite Loops on Server Applications

MRAB google at mrabarnett.plus.com
Wed May 2 21:07:53 EDT 2007


On May 3, 1:38 am, "Paul Kozik" <zyk... at gmail.com> wrote:
> I'm working with a small server program I'm writing for a small video
> game. The main class constructor starts a thread that handles socket
> connections, which itself starts new threads for each user connection.
>
> The actual server program itself however needs to wait in the
> background, but continue looping as not to close the running threads.
> The problem is, simply running a [while True: pass] main loop in this
> style eats precious CPU cycles (and for nothing). If it waits for
> input, such as a socket.accept() or raw_input(), this problem does not
> occur (obviously because it's not constantly looping).
>
> What would be the best way to handle this, perhaps in a fashion
> similar to how most server programs are handled (with arguments such
> as [apache start], [apache stop])? Any guides towards this type of
> application development?
>
You could put a sleep in the loop:

    import time
    while True:
        # Sleep for 1 minute, or whatever...
        time.sleep(60)




More information about the Python-list mailing list