Revision bec1a51b poller/views.py

b/poller/views.py
40 40
    cache_size = 500
41 41

  
42 42
    def __init__(self):
43
        logger.info("initializing")
43 44
        self.user = None
44 45
        self.user_cache = {}
45 46
        self.user_cursor = {}
......
63 64
                assert(self.new_message_user_event[user])
64 65
            except:
65 66
                self.new_message_user_event[user] = Event()
66
    #        self.new_message_user_event[user] = Event()
67 67
            try:
68 68
                if self.user_cache[user]:
69 69
                    self.user_cursor[user] = self.user_cache[user][-1]['id']
......
88 88
            self.user_cursor[user] = self.user_cache[user][-1]['id']
89 89
        else:
90 90
            self.user_cursor[user] = self.user_cache[user][-2]['id']
91
#        self.cache.append(msg)
92 91
        if len(self.user_cache[user]) > self.cache_size:
93 92
            self.user_cache[user] = self.user_cache[user][-self.cache_size:]
94 93
        self.new_message_user_event[user].set()
......
99 98
        if request.is_ajax():
100 99
            cursor = {}
101 100
            try:
102
    #            user = request.user.username
103 101
                user = request.user.get_profile().peer.domain_name
104 102
            except:
105 103
                user = None
......
112 110
            except:
113 111
                self.user_cache[user] = []
114 112
            if not self.user_cache[user] or cursor[user] == self.user_cache[user][-1]['id']:
115
                self.new_message_user_event[user].wait()
116
    #            self.new_message_event.wait()
117
    #        assert cursor[user] != self.user_cache[user][-1]['id'], cursor[user]
113
                self.new_message_user_event[user].wait(settings.POLL_SESSION_UPDATE)
118 114
            try:
119 115
                for index, m in enumerate(self.user_cache[user]):
120 116
                    if m['id'] == cursor[user]:
......
124 120
                if self.user_cache[user]:
125 121
                    self.user_cursor[user] = self.user_cache[user][-1]['id']
126 122
        return HttpResponseRedirect(reverse('group-routes'))
127
    #            else:
128
    #                request.session.pop('cursor', None)
129 123

  
130 124
    def monitor_polls(self, polls=None):
131 125
        b = beanstalkc.Connection()
......
144 138
            p.spawn(self.monitor_polls)
145 139
            
146 140
msgs = Msgs()
147

  
148 141
main = msgs.main
149 142

  
150 143
message_new = msgs.message_new
......
154 147
poll = msgs.start_polling
155 148
poll()
156 149

  
157

  
158

  
159

  
160

  
161

  
162

  
163

  
164

  
165

  

Also available in: Unified diff