Changeset 4ff36b1676f8899d85c264278fbbd183afeff21f


Ignore:
Timestamp:
26/11/10 22:34:36 (2 years ago)
Author:
Agustin Henze - TiN <tin@…>
Children:
eca7cab54a0af29e781009921601f2b1146e2236
Parents:
945ee719561fdc5edb101c445e7866a7b92a4c48
git-committer:
Agustin Henze - TiN <tin@…> (26/11/10 22:34:36)
Message:

Se agrega la cola utilizando yserial, 2 BD en una se lleva la cola de usuarios a crear y en la otra el historial

Location:
arma2/frontend
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • arma2/frontend/common.py

    r9a3aeeb r4ff36b1  
    11# -*- coding: utf-8 -*- 
    22import logging 
    3 from config import logFILE, logFORMAT, logDATEFORMAT 
     3from config import logFILE, logFORMAT, logDATEFORMAT, PATH_USER_CREATED, PATH_HISTORY 
     4import y_serial_v060  as y_serial 
    45 
    56logging.basicConfig(level=logging.DEBUG, filename=logFILE, format=logFORMAT, datefmt=logDATEFORMAT) 
     
    1617    getattr(getLogger(), level.lower())(msg) 
    1718    return True 
     19 
     20class Fifo(object): 
     21    __slots__ = ('front', 'back') 
     22 
     23    def __init__(self): 
     24        self.front = [] 
     25        self.back = [] 
     26 
     27    def __repr__(self): 
     28        return repr(self.front) + repr(self.back) 
     29 
     30    def __len__(self): 
     31        length = len(self.front) 
     32        if length == 0: 
     33            length = len(self.back) 
     34        return length 
     35 
     36    def enqueue(self, value): 
     37        self.back.append(value) 
     38 
     39    def dequeue(self): 
     40        front = self.front 
     41        if not front: 
     42            self.front, self.back = self.back, front 
     43            front = self.front 
     44            front.reverse() 
     45        return front.pop() 
     46 
     47class queueUsers(object): 
     48    def __init__(self): 
     49        """""" 
     50        self.users = y_serial.Main(PATH_USER_CREATED) 
     51        self.historyUsers = y_serial.Main(PATH_HISTORY) 
     52 
     53        try: 
     54            self.listUsers = self.users.select("user_list", "idcentral") 
     55        except IOError: 
     56            self.users.insert(Fifo(), "user_list", "idcentral") 
     57            self.listUsers = self.users.select("user_list", "idcentral") 
     58 
     59    def __sync(self): 
     60        self.users.insert(self.listUsers, "user_list", "idcentral") 
     61        return True 
     62 
     63    def insert(self, newUser): 
     64        self.listUsers.enqueue(newUser) 
     65        self.historyUsers.insert(newUser, "history_users", "idcentral") 
     66        self.__sync() 
     67 
     68    def pop(self): 
     69        try: 
     70            newUserToCreated = self.listUsers.dequeue() 
     71            self.historyUsers.insert(newUserToCreated, "history_users_created", "idcentral") 
     72            self.__sync() 
     73        except IndexError: 
     74            newUserToCreated = False 
     75        return newUserToCreated 
     76 
     77    def pending(self): 
     78        return len(self.listUsers) 
  • arma2/frontend/config.py

    r3efd342 r4ff36b1  
    1616logFORMAT               = '%(asctime)s %(levelname)s: %(message)s' 
    1717logDATEFORMAT           = '%Y-%m-%d %H:%M:%S'  
     18 
     19#Queue Configuration 
     20PATH_USER_CREATED = '/tmp/user_created' 
     21PATH_HISTORY = '/tmp/history_user_created' 
Note: See TracChangeset for help on using the changeset viewer.