Передача переменной в контроллер Pyramid

У меня есть очереди, инициированные в самой верхней части иерархии веб-приложения.

С главной точки входа я помещаю одну из этих очередей в рабочий поток и хочу передать ту же очередь контроллеру Pyramid, чтобы они могли обмениваться данными.

Это главная точка входа, которая раскручивает потоки и пирамиду:

def main(global_config, **settings):
    sql_session = initialize_sql()
    session_factory = SignedCookieSessionFactory(''.join(random.choice(string.printable) for i in range(64)),
                                                 secure=True,
                                                 httponly=True)

    Queues = namedtuple('Queues', 'db requests_from_proxy requests_to_proxy responses')
    queue = Queues(Queue(), Queue(), Queue(), Queue())

    config = Configurator(settings=settings)
    config.include("cornice")
    config.scan("fart.Controller")
    config.set_session_factory(session_factory)
    config.my_queue = queue

    proxy_thread = Thread(target=init_proxy, args=(queue, config,))
    db_thread = Thread(target=init_worker, args=(queue, sql_session,))
    proxy_thread.start()
    db_thread.start()

    return config.make_wsgi_app()

Вот контроллер:

""" Cornice services.
"""
from cornice import Service
import json


request_service = Service(name='request', path='/api/request')

@request_service.get()
def get_request(request):
    print dir()
    return json.dumps(queue.requests_from_proxy.get())

Я провел несколько часов, просматривая документацию и некоторые примеры, но не могу понять, как сделать инициированную очередь в главной точке доступа доступной из контроллера. Есть идеи?

0 ответов

Другие вопросы по тегам