How do I handle multiple requests to python program using zeromq and threading or async?

Viewed 532

I have a little program, which does some calculations in background, when I call it through zerorpc module in python 2.7.

Here is my code:

is_busy = False

class Server(object):
   def calculateSomeStuff(self):
       global is_busy

        if (is_busy):
            return 'I am busy!'

        is_busy = True

        # calculate some stuff

        is_busy = False
        print 'Done!'
        return 

    def getIsBusy(self):
        return is_busy

s = zerorpc.Server(Server())
s.bind("tcp://0.0.0.0:66666")
s.run()

What should I change to make this program returning is_busy when I call .getIsBusy() method, after .calculateSomeStuff() has started doing it's job?

As I know, there is no way to make it asynchronous in python 2.

1 Answers
Related