예제 #1
0
파일: expired.py 프로젝트: bright-pan/ec2
def handler(ctrl, message):
    _name = message.get('db', 'default')
    _ns = API.ns_of( message['table'], message['pid'])
    
    src = API.db(_name)
    rs = src.select_from(message['table'], message['pid'])

    if  not rs: return -1
    
    if  not rs.get('queue',None)    or \
        not rs.get('timeout', None) or \
        not rs.get('cron_handler', None) or \
        not rs.get('retry', None):
        src.delete_from( message['table'], message['pid'] )
        return -2

    _retry = src.redis().hincrby( _ns , 'retry', -1)
    if  _retry<1 :
        src.delete_from( message['table'], message['pid'] )
        return -1

    API.expire(message, rs['timeout'])
    API.queue_push( rs['queue'], {
        'pid':      message['pid'],
        'table':    message['table'],
        'handler':  rs['cron_handler'],
    })
예제 #2
0
파일: httpproxy.py 프로젝트: bright-pan/ec2
 def _send(self, msg):
     API.queue_push("queue:proxy", msg, "cache")
예제 #3
0
파일: httpproxy.py 프로젝트: bright-pan/ec2
 def _send(self, msg):
     API.queue_push('queue:proxy', msg, 'cache')