NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

_test_states_demo.py (1800B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\lib\cherrypy\test\_test_states_demo.py
      2 import os
      3 import sys
      4 import time
      5 starttime = time.time()
      6 import cherrypy
      7 
      8 class Root:
      9 
     10     def index(self):
     11         return 'Hello World'
     12 
     13     index.exposed = True
     14 
     15     def mtimes(self):
     16         return repr(cherrypy.engine.publish('Autoreloader', 'mtimes'))
     17 
     18     mtimes.exposed = True
     19 
     20     def pid(self):
     21         return str(os.getpid())
     22 
     23     pid.exposed = True
     24 
     25     def start(self):
     26         return repr(starttime)
     27 
     28     start.exposed = True
     29 
     30     def exit(self):
     31         cherrypy.engine.wait(state=cherrypy.engine.states.STARTED)
     32         cherrypy.engine.exit()
     33 
     34     exit.exposed = True
     35 
     36 
     37 def unsub_sig():
     38     cherrypy.log('unsubsig: %s' % cherrypy.config.get('unsubsig', False))
     39     if cherrypy.config.get('unsubsig', False):
     40         cherrypy.log('Unsubscribing the default cherrypy signal handler')
     41         cherrypy.engine.signal_handler.unsubscribe()
     42     try:
     43         from signal import signal, SIGTERM
     44     except ImportError:
     45         pass
     46     else:
     47 
     48         def old_term_handler(signum = None, frame = None):
     49             cherrypy.log('I am an old SIGTERM handler.')
     50             sys.exit(0)
     51 
     52         cherrypy.log('Subscribing the new one.')
     53         signal(SIGTERM, old_term_handler)
     54 
     55 
     56 cherrypy.engine.subscribe('start', unsub_sig, priority=100)
     57 
     58 def starterror():
     59     if cherrypy.config.get('starterror', False):
     60         zerodiv = 1 / 0
     61 
     62 
     63 cherrypy.engine.subscribe('start', starterror, priority=6)
     64 
     65 def log_test_case_name():
     66     if cherrypy.config.get('test_case_name', False):
     67         cherrypy.log('STARTED FROM: %s' % cherrypy.config.get('test_case_name'))
     68 
     69 
     70 cherrypy.engine.subscribe('start', log_test_case_name, priority=6)
     71 cherrypy.tree.mount(Root(), '/', {'/': {}})