Latest posts on Обработка изображений, очередь задач topichttps://python.su/forum/topic/39098/2020-06-03T18:06:18+03:00Веб-технологии :: Web :: Обработка изображений, очередь задач
2020-06-03T18:06:18+03:00VadimK210431<blockquote><em>Striver</em><br/>Вообще, celery довольно неприятная хрень, и с ней много мороки.</blockquote>Просто это решения для крупных проектов. И кстати очень удобное. <br/><br/>Можно еще использовать uwsgi задачи и таймеры. <br/><a href="https://uwsgi-docs.readthedocs.io/en/latest/PythonDecorators.html">https://uwsgi-docs.readthedocs.io/en/latest/PythonDecorators.html</a><br/><br/>
Веб-технологии :: Web :: Обработка изображений, очередь задач
2020-06-03T14:01:59+03:00Striver210430Мы нечто подобное делали через <a href="https://pypi.org/project/celery/">celery</a>, только веб-сервером у нас Джанго был.<br/>По запросу создаётся задача celery, а клиенту сразу возвращается ответ, что запрос поставлен в очередь, и присвоенный id этого запроса. Когда задача из очереди отрабатывает, она скидывает свои результаты (или данные об ошибке, если что-то не так) в базу данных. <br/>Клиент периодически делает запросы к веб-серверу, на тему “как там дела с моим запросом, у которого такой id?”, и в какой-то момент получает ответ, что работа закончена, результат такой-то. Вроде бы возможно с помощью неких вебсокетов сделать так, чтобы не спамить постоянными запросами от клиента, но в этом я уже не разбираюсь.<br/><br/>Вообще, <strong>celery</strong> довольно неприятная хрень, и с ней много мороки.<br/>
Веб-технологии :: Web :: Обработка изображений, очередь задач
2020-06-02T10:05:50+03:00py.user.next210383<blockquote><em>mr.M</em><br/>Есть ли какое-то решение для реализации такой логики?</blockquote>У тебя должен быть контроль над сервером, чтобы ты мог запускать процессы на сервере, которые будут работать, пока не завершатся.<br/>Без этого никакой процесс не будет выполняться сам и читать очередь. Каждое действие нужно будет инициировать вручную.<br/><br/><blockquote><em>mr.M</em><br/>В качестве базы для сайта предполагаю использовать Flask.</blockquote>Flask'ом ты можешь только загружать и отдавать картинки. Делать сам по себе он ничего не будет, только по запросам он работает. Максимум, что он может, - это сохранять в память (в базу данных, например, или в файл). Но чтобы потом к этому обратиться, ему нужно будет говорить “обратись к этому”, сам он туда по расписанию не полезет.
Веб-технологии :: Web :: Обработка изображений, очередь задач
2020-06-02T07:55:05+03:00mr.M210378Здравствуйте. Стоит задача создать сервис, производящий некоторые преобразования над данными, полученными от пользователя. Происходить это должно следующим образом (на примере картинки):<br/><br/>1. Пользователь загружает на сервер картинку<br/>2. Сервер запускает процесс (cli app), который производит некоторые преобразования над картинкой<br/>3. Сервер отдает обработанную картинку пользователю<br/><br/>Нужно чтобы при загрузке изображения добавлялась задача, сервер следил бы за FIFO списком таких задач, и если этот список не пуст - брал оттуда задачу, выполнял ее и, при наличии, приступал к следующей, пока не будут выполнены все.<br/><br/>Есть ли какое-то решение для реализации такой логики?<br/><br/>P.S. В качестве базы для сайта предполагаю использовать Flask.<br/><br/>Спасибо. <img src="/static/djangobb_forum/img/smilies/smile.png" /><br/>