Ejemplo n.º 1
0
def remove_cell(self, cell_keys):
    cells_removed = 0
    redis_client = self.app.redis_client
    with self.db_session() as session:
        changed_lacs = set()

        for k in cell_keys:
            key = Cell.to_hashkey(k)
            query = session.query(Cell).filter(*Cell.joinkey(key))
            cells_removed += query.delete()
            changed_lacs.add(CellArea.to_hashkey(key))

        if changed_lacs:
            session.on_post_commit(enqueue_lacs, redis_client, changed_lacs,
                                   UPDATE_KEY['cell_lac'])

        session.commit()
    return cells_removed