def run_generators(q_messages): print('run_generator') from hubbub.generator import HeartBeatGenerator if 'fake' in argv: from hubbub.adapter.fake import FakeAdapter as Adapter else: from hubbub.adapter.pidgin_dbus import PidginDBusAdapter as Adapter adapter = Adapter(None) # Write-only adapter, no queue import threading try: from Queue import Queue as QQueue except ImportError: from queue import Queue as QQueue def start_generator(buddy, q): print('B', [buddy.id]) generator = HeartBeatGenerator(adapter, buddy.id, q) generator.run() from hubbub.drugstore.models import Buddy queues = {} #for buddy in Buddy.select().where(Buddy.enabled): for buddy in Buddy.select(): q = QQueue() queues[buddy.identifier] = q t = threading.Thread(target=start_generator, args=(buddy, q)) t.start() while True: msg = q_messages.get() for q in queues.values(): q.put(msg)
def friends_list(): return json.dumps([ { 'id': b.identifier, 'alias': b.alias, 'active': b.enabled, } for b in Buddy.select() ])