当前位置: 首页>>代码示例>>Python>>正文


Python FlagFramework.post_event方法代码示例

本文整理汇总了Python中pyflag.FlagFramework.post_event方法的典型用法代码示例。如果您正苦于以下问题:Python FlagFramework.post_event方法的具体用法?Python FlagFramework.post_event怎么用?Python FlagFramework.post_event使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pyflag.FlagFramework的用法示例。


在下文中一共展示了FlagFramework.post_event方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: start_workers

# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import post_event [as 别名]
def start_workers():
    print "%s: starting workers" % os.getpid()
    global job_pipe, keepalive, write_keepalive

    children = []

    ## These pipes control the worker. If the master exits, the pipes
    ## will be closed which will notify the worker immediately. It
    ## will then exit.

    if not keepalive:
        keepalive, write_keepalive = os.pipe()

    ## Start up as many children as needed
    for i in range(config.WORKERS):
        pid = os.fork()
        if pid:
            children.append(pid)

        else:
            os.close(write_keepalive)

            ## Initialise the worker
            worker_run(keepalive)
            sys.exit(0)
            
    ## The process which called this function is a master
    FlagFramework.post_event("startup")

    ## The master is responsible for ensuring its child is running -
    ## if the child quits, we restart it.
    signal.signal(signal.SIGCHLD, handler)
开发者ID:backupManager,项目名称:pyflag,代码行数:34,代码来源:Farm.py

示例2: execute

# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import post_event [as 别名]
    def execute(self):
        try:
            dbh = DB.DBO()
        except:
            dbh = DB.DBO('mysql')
            dbh.execute("create database `%s`" % config.FLAGDB)
            dbh = DB.DBO()

        FlagFramework.post_event("init_default_db", None)
        yield "Done"
开发者ID:backupManager,项目名称:pyflag,代码行数:12,代码来源:AdvancedCommands.py

示例3: worker_run

# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import post_event [as 别名]
def worker_run(keepalive=None):
     """ The main loop of the worker.

     We never exit from this function.
     
     We use the keepalive to check that our parent is still alive. If
     it is not (i.e. the other end of the pipe returns failed reads),
     we quit.
     """
     FlagFramework.post_event("worker_startup")            
     my_pid = os.getpid()
     
     ## Open the pipes
     try:
         os.mkfifo(config.FIFO)
     except OSError,e:
         pass
开发者ID:backupManager,项目名称:pyflag,代码行数:19,代码来源:Farm.py

示例4: handler

# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import post_event [as 别名]
def handler(signal, frame):
    try:
        pid, status = os.waitpid(-1, 0)
    except:
        return
    
    print "Child %s Died - starting" % pid
    global keepalive, write_keepalive
    
    if not keepalive:
        keepalive, write_keepalive = os.pipe()
    
    pid = os.fork()
    if not pid:
        os.close(write_keepalive)
        
        ## child
        FlagFramework.post_event("worker_startup")
        worker_run(keepalive)
        sys.exit(0)
开发者ID:backupManager,项目名称:pyflag,代码行数:22,代码来源:Farm.py

示例5: run

# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import post_event [as 别名]
 def run(self, case, *args):
     ## Expire any caches we have relating to this case:
     pyflaglog.log(pyflaglog.INFO, "Resetting case %s in worker" % case)
     FlagFramework.post_event('reset', case)
开发者ID:anarchivist,项目名称:pyflag,代码行数:6,代码来源:Core.py

示例6: assert

# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import post_event [as 别名]
            dbh.execute("select * from meta where property='flag_db'")
            for row in dbh:
                pyflaglog.log(pyflaglog.INFO, "Deleting case %s due to an upgrade" % row['value'])
                FlagFramework.delete_case(row['value'])
        except DB.DBError,e:
            pass

        ## Initialise the default database: We post an initialise
        ## event to allow plugins to contribute
        try:
            dbh = DB.DBO()
        except:
            dbh = DB.DBO('mysql')
            dbh.execute("drop database if exists `%s`" % config.FLAGDB)
            dbh.execute("create database `%s`" % config.FLAGDB)
            dbh = DB.DBO()
            
        FlagFramework.post_event('init_default_db', dbh.case)
        try:
            version = dbh.get_meta("schema_version")
            assert(int(version) == config.SCHEMA_VERSION)
        except:
            result.heading("Failed")
            result.para("Unable to create database properly. Try to create it manually from %s/db.setup" % config.DATADIR)
            return

        result.heading("Success")
        result.para("Attempt to create initial database succeeded. Pyflag will start in a few seconds.")
        
        result.refresh(5,query.__class__())
开发者ID:backupManager,项目名称:pyflag,代码行数:32,代码来源:Configuration.py

示例7: open

# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import post_event [as 别名]
    try:
        doc = test_class.__doc__
    except: pass
    if not doc:
        doc = test_class
        
    print "---------------------------------------"
    print "Running tests in %s (%s)" % (doc, test_registry.filename( \
        test_registry.get_name(test_class)))
    print "---------------------------------------"
    suite = unittest.makeSuite(test_class)
    result = unittest.TextTestRunner(verbosity=2).run(suite)

    ## Preform a collection:
    gc.collect()

    ## Close off the volume so we can easily see what happened
    FlagFramework.post_event("exit", None)

    print "Garbage is %s" % (gc.garbage,)
    
    ## Only pause for errors
    if config.pause and result.errors:
        raw_input("Pause")
        
    ## Only write logs for tests which work perfectly.
    if config.log and not result.errors:
        fd = open(config.log,'a')
        fd.write(test_class.__name__+"\n")
        fd.close()
开发者ID:backupManager,项目名称:pyflag,代码行数:32,代码来源:Tester.py

示例8: parameters

# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import post_event [as 别名]
        atexit.register(readline.write_history_file, histfile)
        readline.set_completer(completer)
        readline.set_completer_delims(' \t\n/=+\'"')
    except NameError: pass
    
    atexit.register(FlagFramework.post_event, 'exit', config.FLAGDB)
    
    env=environment()
    parser=command_parse(env)
    print "Welcome to the Flag shell. Type help for help"
    
    ## Create a worker thread:
    ## Farm.start_workers()

    ## The process which called this function is a master
    FlagFramework.post_event("startup")

    if config.command_file != None:
      asker=Asker()
      fd=open(config.command_file)
      file = fd.read()
      
      #Initialise variable cache from parameters (if they are provided)
      if config.params != None:
        params = config.params.split(",")
        for keypair in params:
          keyvalue = keypair.split(":")
          asker.cache[keyvalue[0]] = keyvalue[1]
      
      # Ask the user to fill in variables in the file
      file=file % asker
开发者ID:backupManager,项目名称:pyflag,代码行数:33,代码来源:pyflagsh.py


注:本文中的pyflag.FlagFramework.post_event方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。