本文整理汇总了Python中web_container.WebContainer.is_dev_mode方法的典型用法代码示例。如果您正苦于以下问题:Python WebContainer.is_dev_mode方法的具体用法?Python WebContainer.is_dev_mode怎么用?Python WebContainer.is_dev_mode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类web_container.WebContainer
的用法示例。
在下文中一共展示了WebContainer.is_dev_mode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: start_basic_tasks
# 需要导入模块: from web_container import WebContainer [as 别名]
# 或者: from web_container.WebContainer import is_dev_mode [as 别名]
def start_basic_tasks(self, scheduler):
# close all extraneous database connections 15 minutes
class DatabaseCloseTask(SchedulerTask):
def execute(self):
#print "Closing all connections"
DbContainer.close_all_global_connections()
task = DatabaseCloseTask()
interval = 15*60
scheduler.add_interval_task(task, interval=interval, mode='threaded', delay=60)
# Kill cherrypy every interval. This overcomes some of the memory
# problems with long running Python processes. In order to
# use this properly, it is essential that a load balancer with
# proper failover is used
#
class KillTacticTask(SchedulerTask):
def execute(self):
# wait until KillThread is premitted
while GlobalContainer.get("KillThreadCmd:allow") == "false":
print "Kill locked ... waiting 5 seconds"
time.sleep(5)
continue
import cherrypy
print
print "Stopping TACTIC ..."
print
print " ... stopping Schduler"
scheduler = Scheduler.get()
scheduler.stop()
print " ... stopping Cherrypy"
cherrypy.engine.stop()
cherrypy.engine.exit()
print " ... closing DB connections"
DbContainer.close_all_global_connections()
print " ... kill current process"
Common.kill()
print "Done."
from web_container import WebContainer
if not WebContainer.is_dev_mode():
task = KillTacticTask()
config_delay = Config.get_value("services", "process_time_alive")
if config_delay:
import random
# put in a randomizer so that not all processes die at once
delay = int(config_delay)
offset = random.random()*delay - delay/2
delay += offset
seconds = int(delay * 60)
print "Process will exit in [%s] seconds" % seconds
scheduler.add_single_task(task, mode='sequential', delay=seconds)