Guest User

INCORRECT.py

a guest
Aug 2nd, 2012
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.33 KB | None | 0 0
  1. from daemon import Daemon
  2. import Pyro4
  3. import sys
  4. import time
  5.  
  6. Pyro4.config.HMAC_KEY='topsecret'
  7.  
  8. class ADaemon(Daemon):
  9.     def post_init(self,handler):
  10.         self.handler=handler
  11.     def run(self):
  12.         print "Ready."
  13.         self.handler()
  14.  
  15.  
  16. class GreetingMaker(object):
  17.     def get_fortune(self, name):
  18.         return "Hello, {0}. Here is your fortune message:\n" \
  19.                "Behold the warranty -- the bold print giveth and the fine print taketh away.".format(name)
  20.  
  21. greeting_maker=GreetingMaker()
  22. pyro_daemon=Pyro4.Daemon()                 # make a Pyro daemon
  23. uri=pyro_daemon.register(greeting_maker)   # register the greeting object as a Pyro object
  24.  
  25. variant=sys.argv[1]  #both|pyro|(start|stop) #daemon
  26.  
  27. if variant == 'both':
  28.     print 'Pyro & Daemon example'
  29.     print "Pyro is ready. Server uri =", uri      # print the uri so we can use it in the client later
  30.     sys.argv[1]='start'#dont worry about 'zombi' daemons - daemon dont start in this case:( no apocalipsys:(
  31.     #runner.DaemonRunner(ADaemon('/tmp/tmp.pid',pyro_daemon.requestLoop)).do_action()
  32.     daemon = ADaemon('/tmp/daemon-example.pid',stdout='')
  33.     daemon.post_init(pyro_daemon.requestLoop)
  34.     if 'start' == sys.argv[2]:
  35.         daemon.start()
  36.     elif 'stop' == sys.argv[2]:
  37.         daemon.stop()
  38.     elif 'restart' == sys.argv[2]:
  39.         daemon.restart()
  40.  
  41. elif variant=='pyro':
  42.     print 'Pyro example'
  43.     print "Pyro is ready. Server uri =", uri      # print the uri so we can use it in the client later
  44.     pyro_daemon.requestLoop()
  45. elif variant=='start' or variant=='stop':
  46.     print 'Daemon example'
  47.     def testf():
  48.         while True:
  49.             print 'daemon works fine'
  50.             time.sleep(3)
  51.     #runner.DaemonRunner(ADaemon('/tmp/tmp.pid',testf)).do_action()
  52.     daemon = ADaemon('/tmp/daemon-example.pid',stdout='')
  53.     daemon.post_init(testf)
  54.     if len(sys.argv) == 2:
  55.         if 'start' == sys.argv[1]:
  56.             daemon.start()
  57.         elif 'stop' == sys.argv[1]:
  58.             daemon.stop()
  59.         elif 'restart' == sys.argv[1]:
  60.             daemon.restart()
  61.         else:
  62.             print "Unknown command"
  63.             sys.exit(2)
  64.         sys.exit(0)
  65.     else:
  66.         print "usage: %s start|stop|restart" % sys.argv[0]
  67.         sys.exit(2)
  68.  
  69. else:
  70.     print 'usage: both|pyro|(start|stop) #daemon'
Advertisement
Add Comment
Please, Sign In to add comment