Как вы можете отправить сообщение фоновому процессу из mod_python?

Мы запускаем сервер Linux с Apache2 с mod_python. Один скрипт mod_python вставляет запись в таблицу регистрации базы данных. Большая таблица журналов может стать причиной конфликта при записи на диск или может быть временно недоступна во время обслуживания базы данных. Мы хотели бы выделить ведение журнала как асинхронную фоновую задачу, чтобы пользовательский запрос мог завершиться до завершения ведения журнала.

В идеале должен быть один фоновый процесс. Веб-обработчик передаст свой запрос журнала фоновому процессу. Фоновый процесс будет записывать записи журнала в базу данных. Фоновый процесс будет ставить в очередь до сотни запросов и отбрасывать запросы, когда его очередь будет заполнена.

Какие методы доступны в Python для облегчения взаимодействия с фоновым процессом?


person Andomar    schedule 16.10.2014    source источник


Ответы (1)


вы можете использовать очередь задач celery/redis.

person forvaidya    schedule 16.10.2014
comment
Спасибо. Похоже, что redis — это хранилище ключей и значений? Как бы вы использовали это в качестве очереди? - person Andomar; 16.10.2014
comment
см. celeryproject.org. Я успешно использовал это в своих проектах. - person forvaidya; 17.10.2014