Форум сайта python.su
Здравствуйте.
Задача состоит в следующем: на запрос пользователя взять документ ods, сконвертировать его в xls и передать пользователю. Решил использовать утилиту unoconv из поставки LibreOffice и запускать дочерний процесс с помощью subprocess. Проблема в следующем: если я запускаю сервер для разработки (python manage.py runserver), то все работает нормально, при запросе пользователя запускаю unoconv и отдаю сконвертированный документ. Но если запускать через uwsgi, то unoconv не отрабатывает нормально, к логах ошибки “Error: Unable to connect or start own listener. Aborting.”. Вместо unoconv пробовал запускать другие процессы - работает нормально, а вот unoconv не хочет. Не подскажите в чем может быть проблема?
Отредактировано svas (Фев. 16, 2015 13:28:29)
Офлайн
svas
Здравствуйте.
Задача состоит в следующем: на запрос пользователя взять документ ods, сконвертировать его в xls и передать пользователю. Решил использовать утилиту unoconv из поставки LibreOffice и запускать дочерний процесс с помощью subprocess. Проблема в следующем: если я запускаю сервер для разработки (python manage.py runserver), то все работает нормально, при запросе пользователя запускаю unoconv и отдаю сконвертированный документ. Но если запускать через uwsgi, то unoconv не отрабатывает нормально, к логах ошибки “Error: Unable to connect or start own listener. Aborting.”. Вместо unoconv пробовал запускать другие процессы - работает нормально, а вот unoconv не хочет. Не подскажите в чем может быть проблема?
Офлайн
Да, тоже склоняюсь попробовать celery. Просто не хотелось усложнять.
Правда если ваш сервис обслуживает один запрос в час можно просто увеличить таймаут ожиданияДело в том что почему-то не работает именно unoconv и именно когда запускаю приложение под uwsgi. При обработке запроса unoconv запуска подряд 10 раз. и если с 10-го раза не получилось сконвертировать - возвращаю ошибку. В логах вижу 10 строчек “Error: Unable to connect or start own listener. Aborting.”. И только потом браузеру прилетает ошибка. Мне кажется дело не в таймауте.
Отредактировано svas (Фев. 16, 2015 16:07:27)
Офлайн
Офлайн
Запустил uwsgi от обычного пользователя, помогло
Офлайн