• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python utils.get_db函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中utils.get_db函数的典型用法代码示例。如果您正苦于以下问题:Python get_db函数的具体用法?Python get_db怎么用?Python get_db使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: process_task

def process_task(task_processes_avail):
    for sem, min_priority, max_priority in task_processes_avail:
        log.debug('trying to acquire sem for min {} max {}'.format(min_priority, max_priority))
        if sem.acquire(block=False):
            log.debug('acquired semaphore')
            db_task = utils.mongo_retry(lambda: get_db().tasks.find_one({'status': 'queued', 'start_after': {'$lte': datetime.now()}, 'priority': {'$gte': min_priority, '$lte': max_priority}}, sort=[('priority', pymongo.ASCENDING), ('start_after', pymongo.ASCENDING)]))
            if db_task is None:
                log.debug('no task to process, releasing sem')
                sem.release()
                log.debug('sem released')
            else:
                log.debug('found task to process')
                break
        else:
            log.debug('did not acquire semaphore')
    else:
        return False

    id = db_task['_id']

    log.debug('trying to lock task')
    res = utils.mongo_retry(lambda: get_db().tasks.update({'_id': id, 'status': 'queued'}, {'$set': {'status': 'running', 'timeout_time': datetime.now() + timedelta(seconds=db_task['timeout'])}}))
    if res['n'] == 0:
        log.debug('another instance got the task first, releasing sem')
        # Another instance got to this task before us
        sem.release()
        log.debug('sem released')
        return True

    def process_db_task():
        task = Task.from_db(db_task)

        log.info('processing task: {}'.format(task))

        try:
            next_tasks = utils.ensure_list(utils.call_in_process(task.run, timeout=task.timeout.total_seconds()))
        except Exception:
            log.info('task {} failed: {}'.format(task, traceback.format_exc()))
            log.debug('running failure method')
            next_tasks = task_failed(task)
            log.debug('done failure method')
            status = 'failed'
        else:
            log.info('task succeeded: {}'.format(task))
            status = 'done'

        done_task(task, id, status, next_tasks)
        log.debug('releasing sem')
        sem.release()

    proc = multiprocessing.Process(target=process_db_task)
    proc.start()

    def join_process():
        proc.join()

    threading.Thread(target=join_process).start()

    return True
开发者ID:tkeith,项目名称:tullius,代码行数:59,代码来源:tasks.py


示例2: GET

 def GET(self):
     web.header("Content-Type","text/html; charset=utf-8")
     node_id = web.input().get("node_id")
     nodes = get_db().query(models.RadNode).all()
     if node_id:
         groups = get_db().query(models.RadGroup)\
          .filter(models.RadGroup.node_id == node_id).all()
     else:
         groups = get_db().query(models.RadGroup).all()
     return render("group.html",nodes=nodes,node_id=node_id,groups=groups)   
开发者ID:jamiesun,项目名称:PyRadius,代码行数:10,代码来源:group.py


示例3: GET

 def GET(self):
     web.header("Content-Type","text/html; charset=utf-8")
     node_id = web.input().get("node_id")
     nodes = get_db().query(models.RadNode).all()
     if node_id:
         users = get_db().query(models.RadUser)\
          .filter(models.RadUser.node_id == node_id).all()
     else:
         users = get_db().query(models.RadUser).all()
     return render("user.html",nodes=nodes,node_id=node_id,users=users)   
开发者ID:jamiesun,项目名称:PyRadius,代码行数:10,代码来源:user.py


示例4: handle_pending_task

def handle_pending_task():
    db_task = utils.mongo_retry(lambda: get_db().tasks.find_one({'status': 'next_tasks_pending'}))
    if db_task is None:
        return False

    log.debug('handling pending task: {}'.format(db_task['class']))
    insert_db_tasks(db_task['next_tasks'])
    utils.mongo_retry(lambda: get_db().tasks.update({'_id': db_task['_id']}, {'$set': {'status': db_task['next_status']}, '$unset': {'next_tasks': '', 'next_status': ''}}))
    log.debug('done handling pending task: {}'.format(db_task['class']))

    return True
开发者ID:tkeith,项目名称:tullius,代码行数:11,代码来源:tasks.py


示例5: get_game_ids_db

def get_game_ids_db():
    """
    looks up game_ids from db
    """
    db = utils.get_db()
    game_docs = db.games.find({},{'espn_game_id':True})
    return [game['espn_game_id'] for game in game_docs]
开发者ID:mhlinder,项目名称:bball,代码行数:7,代码来源:espn.py


示例6: _insert_shots

def _insert_shots(game_id):
    db = utils.get_db()
    if db.shots.find({'espn_game_id':game_id}).count():
       return 
    shots = _get_shots(game_id)
    for shot in shots:
        db.shots.save(shot)
开发者ID:mhlinder,项目名称:bball,代码行数:7,代码来源:espn.py


示例7: _latest_game_day

def _latest_game_day():
    db = utils.get_db()
    last_day = dateparser.parse('2012-10-30')
    games = db.games.find().sort('date',-1)
    if games.count() == 0:
        return None
    return str(games[0].get('date'))
开发者ID:mhlinder,项目名称:bball,代码行数:7,代码来源:espn.py


示例8: do_put_blob

    def do_put_blob(self, args):
        """put_blob [bucket] [size] [key]

        Create a blob with random content.

        size must be a number of bytes followed by an optional multiplier:

            K - 1024
            M - 1048576
            G - 1073741824

        key is optional
        """
        argv = args.split()
        if len(argv) == 2:
            bucket, size = argv
            key = None
        elif len(argv) == 3:
            bucket, size, key = argv
        else:
            self.do_help('put_blob')
            return

        if not re.match(r"\d+[KMG]?$", size):
            print "invalid size: {}".format(size)
            return
        if not size.endswith(("K", "M", "G")):
            num_bytes = size
        else:
            multiplier = {"K": 1024, "M": 1024 ** 2, "G": 1024 ** 3}[size[-1]]
            num_bytes = int(size[:-1]) * multiplier

        db = get_db(self.config)
        key = db.random_file(bucket, num_bytes, key)
        print "put {} ({} = {} bytes)".format(key, size, num_bytes)
开发者ID:millerdev,项目名称:riak-cs-cluster-repl,代码行数:35,代码来源:repl.py


示例9: done_task

def done_task(task, id, status, next_tasks):
    if len(next_tasks) == 0:
        update = {'$set': {'status': status}}
    else:
        next_tasks_for_db = [task.for_db() for task in next_tasks]
        update = {'$set': {'status': 'next_tasks_pending', 'next_status': status, 'next_tasks': next_tasks_for_db}}
    utils.mongo_retry(lambda: get_db().tasks.update({'_id': id, 'status': 'running'}, update))
开发者ID:tkeith,项目名称:tullius,代码行数:7,代码来源:tasks.py


示例10: main

def main():
    global CACHE
    LOGGER.info('Starting alarm-clock')

    while True:
        now = datetime.datetime.now()
        today = now.strftime('%a').lower()

        db = get_db()
        playlist = db['playlist']
        alarm_str = db['days'][today]
        
        if alarm_str is not None:
            hour, minute = alarm_str.split(':')

            alarm_hour = datetime.time(int(hour), int(minute))

            dt = datetime.datetime.combine(now, alarm_hour)

            if not CACHE.get(dt, False):
                if dt <= now:
                    res = play(playlist)
                    if res:
                        CACHE[dt] = True

        CACHE = trim_cache(CACHE)
        time.sleep(60)
开发者ID:Dinoshauer,项目名称:raspberry-alarm,代码行数:27,代码来源:alarm-clock.py


示例11: POST

 def POST(self):
     web.header("Content-Type","text/html; charset=utf-8")
     form = forms.nas_add_form()
     if not form.validates(): 
         return render("baseform.html",form=form,title="新增NAS设备",action="/nas/add")    
     else:
         db = get_db()
         if db.query(models.RadNas).filter(models.RadNas.ip_addr == form.d.ip_addr).count()>0:
             return errorpage("Nas %s 已经存在"%form.d.ip_addr)       
         try:
             nas = models.RadNas()
             nas.id = nextid()
             nas.ip_addr = form.d.ip_addr
             nas.name = form.d.name
             nas.auth_secret = form.d.auth_secret
             nas.acct_secret = form.d.acct_secret
             nas.vendor_id = form.d.vendor_id
             nas.time_type = form.d.time_type
             nas.status = form.d.status
             db.add(nas)
             db.commit()
             db.flush()
         except Exception,e:
             db.rollback()
             log.error("add nes error: %s"%str(e))
             return errorpage("新增Nas失败 %s"%str(e))
         raise web.seeother("/nas",absolute=True)
开发者ID:jamiesun,项目名称:PyRadius,代码行数:27,代码来源:nas.py


示例12: POST

    def POST(self):
        web.header("Content-Type","text/html; charset=utf-8")
        form = forms.product_add_form()
        if not form.validates(): 
            return render("baseform.html",form=form,title="新增产品套餐",action="/product/add")    
        else:
            db = get_db()
            if db.query(models.RadProduct).filter(models.RadProduct.id == form.d.id).count()>0:
                return errorpage("产品编号重复")
            try:
                radproduct = models.RadProduct()
                radproduct.id = form.d.id
                radproduct.name = form.d.name
                radproduct.policy = form.d.policy
                radproduct.fee_num = form.d.fee_num
                radproduct.fee_price = int(Decimal(form.d.fee_price)*100)
                radproduct.concur_number = form.d.concur_number
                radproduct.bind_mac = form.d.bind_mac
                radproduct.bind_vlan = form.d.bind_vlan
                radproduct.bandwidth_code = form.d.bandwidth_code
                radproduct.input_max_limit = form.d.input_max_limit
                radproduct.output_max_limit = form.d.output_max_limit
                radproduct.input_rate_code = form.d.input_rate_code
                radproduct.output_rate_code = form.d.output_rate_code
                radproduct.domain_code = form.d.domain_code
                radproduct.status = 0
                db.add(radproduct)
                db.commit()
                db.flush()
            except Exception,e:
                db.rollback()
                log.error("add product error: %s"%str(e))
                return errorpage("产品新增失败 %s"%str(e))

            raise web.seeother("/product",absolute=True)             
开发者ID:jamiesun,项目名称:PyRadius,代码行数:35,代码来源:product.py


示例13: left_right

def left_right():
    db = utils.get_db()

    left_f = shot_filters.merge_filters({'left':0})
    left_df = DataFrame(list(db.shots.find(left_f)))
    n_l = len(left_df)
    left_p = len(left_df[left_df['made']]) / float(n_l)
    left_ci = utils.ci(left_p, n_l)

    right_f = shot_filters.merge_filters({'right':0})
    right_df = DataFrame(list(db.shots.find(right_f)))
    n_r = len(right_df)
    right_p = len(right_df[right_df['made']]) / float(n_r)
    right_ci = utils.ci(right_p, n_r)

    # # hypothesis test: different sides of court
    # pooled_p = (left_p*n_l + right_p*n_r)/(n_r + n_l)
    # pooled_se = np.sqrt(pooled_p * (1-pooled_p) * ((1.0/n_l) + (1.0/n_r)) )
    # pooled_z_stat = (right_p - left_p) / pooled_se
    json.dump([{
            'name': 'Right',
            'value': right_p,
            'l': right_ci[0],
            'u': right_ci[1]
        },
        {
            'name': 'Left',
            'value': left_p,
            'l': left_ci[0],
            'u': left_ci[1]
        }], open('static/data/left-right.json','w'))
开发者ID:mhlinder,项目名称:bball,代码行数:31,代码来源:viz_code.py


示例14: POST

 def POST(self):
     web.header("Content-Type","text/html; charset=utf-8")
     form = forms.group_add_form()
     if not form.validates(): 
         return render("baseform.html",form=form,title="新增用户组",action="/group/add")    
     else:
         db = get_db()
         if db.query(models.RadGroup)\
              .filter(models.RadGroup.node_id == form.d.node_id)\
              .filter(models.RadGroup.group_id == form.d.group_id)\
              .count()>0:
             return errorpage("用户组编码重复")       
         try:
             group = models.RadGroup()
             group.node_id = form.d.node_id
             group.group_id = form.d.group_id
             group.group_name = form.d.group_name
             db.add(group)
             db.commit()
             db.flush()
         except Exception,e:
             db.rollback()
             log.error("add group error: %s"%str(e))
             return errorpage("新增用户组失败 %s"%str(e))
         raise web.seeother("/group",absolute=True)
开发者ID:jamiesun,项目名称:PyRadius,代码行数:25,代码来源:group.py


示例15: quarterly

def quarterly():
    db = utils.get_db()
    shots = list(db.shots.find())
    shots_df = DataFrame(shots)

    q1 = shots_df['qtr'] == '1'
    q2 = shots_df['qtr'] == '2'
    q3 = shots_df['qtr'] == '3'
    q4 = shots_df['qtr'] == '4'
    q1q2 = np.any([shots_df['qtr'] == '1', shots_df['qtr'] == '2'], 0)

    qtr_ps = {
            'Q1': [len(shots_df[np.all([q1, shots_df['made']], 0)]) / float(len(shots_df[q1])), len(shots_df[q1])],
            'Q2': [len(shots_df[np.all([q2, shots_df['made']], 0)]) / float(len(shots_df[q2])), len(shots_df[q2])],
            'Q3': [len(shots_df[np.all([q3, shots_df['made']], 0)]) / float(len(shots_df[q3])), len(shots_df[q3])],
            'Q4': [len(shots_df[np.all([q4, shots_df['made']], 0)]) / float(len(shots_df[q4])), len(shots_df[q4])],
            # 'q1q2': [len(shots_df[np.all([q1q2, shots_df['made']], 0)]) / float(len(shots_df[q1q2])), len(shots_df[q1q2])]
            }

    cis = {}
    for q in qtr_ps:
        cis[q] = utils.ci(qtr_ps[q][0], qtr_ps[q][1])

    json.dump([{
        'name': q,
        'value': qtr_ps[q][0],
        'l': cis[q][0],
        'u': cis[q][1]
        } for q in qtr_ps], open('static/data/quarterly.json','w'))
开发者ID:mhlinder,项目名称:bball,代码行数:29,代码来源:viz_code.py


示例16: insert_game_ids

def insert_game_ids():
    """
    iterates through days and finds all espn game_ids from those days.
    inserts them into mongo db.
    """
    #TODO: pass in progress callback
    db = utils.get_db()
    
    url = "http://scores.espn.go.com/nba/scoreboard"
    game_ids = set()
    last = _latest_game_day()
    for dt in utils.day_gen(last):
        day_str = dt.strftime(DT_FORMAT)
        try:
            resp = requests.get(url,params={'date':day_str})
            cur_ids = re.findall('href="/nba/playbyplay\?gameId=(\d*)',resp.text)
            game_ids.update(cur_ids)

            for game_id in cur_ids:
                mongo_game_id = _gen_game_key(game_id)
                doc = {'date':dt,'espn_game_id':game_id,'_id':mongo_game_id}
                db.games.save(doc)

        except Exception as e:
            pdb.set_trace()
    
    return
开发者ID:mhlinder,项目名称:bball,代码行数:27,代码来源:espn.py


示例17: total_quarterly

def total_quarterly():
    db = utils.get_db()
    num_shots = []
    for i in range(1,5):
        params = {'quarter': '%i' % i}
        shots = db.shots.find(shot_filters.merge_filters(params))
        num_shots.append({'name': 'Q%i' % i, 'value': shots.count()})
    json.dump(num_shots, open('static/data/total_quarterly.json','w'))
开发者ID:mhlinder,项目名称:bball,代码行数:8,代码来源:viz_code.py


示例18: _select_espn_game_ids

def _select_espn_game_ids():
    """
    returns a set of all espn game ids already in the db
    """
    db = utils.get_db()
    docs = db.games.find({},{'espn_game_id':True})
    game_ids = set([doc['espn_game_id'] for doc in docs])
    return game_ids
开发者ID:mhlinder,项目名称:bball,代码行数:8,代码来源:espn.py


示例19: GET

 def GET(self,productid):
     web.header("Content-Type","text/html; charset=utf-8")
     form = forms.product_update_form()
     db = get_db()
     product = db.query(models.RadProduct).get(productid)
     form.fill(product)
     form.fee_price.set_value(product.fee_price/100.00)
     return render("baseform.html",form=form,title="修改产品套餐",action="/product/update/")   
开发者ID:jamiesun,项目名称:PyRadius,代码行数:8,代码来源:product.py


示例20: do_list_buckets

 def do_list_buckets(self, args):
     db = get_db(self.config)
     try:
         buckets = db.get_buckets()
     except Exception as e:
         print e
     else:
         for bucket in buckets:
             print bucket
开发者ID:millerdev,项目名称:riak-cs-cluster-repl,代码行数:9,代码来源:repl.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python utils.get_db_path函数代码示例发布时间:2022-05-26
下一篇:
Python utils.get_data函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap