Веб-версияОткрыть в Telegram

СообщениеВоркер был мне нужен для процессинга операций от пользователя на файловой системе. Это загрузка новой картинки, удаление…

26 июня 2026
И
Воркер был мне нужен для процессинга операций от пользователя на файловой системе. Это загрузка новой картинки, удаление старой, копирование из одного места в другое. Все эти операции могут исполняться параллельно, но только с одной записью за раз. В pg есть таблица со списком команд на исполнение. Флоу работы такой: 1. Выгрести из таблицы 10 команд через select for update skip locked. 2. Посмотреть id записей для которых эти команды написаны. Попытаться взять лок в pg на эти id через pg_locks. 3. Если удалось взять блокировку, сделать 10 корутин и запустить их внутри task group для параллельного исполнения. 4. Внутри есть process pull executor, в который можно засунуть CPU-bound задачи. 5. По завершению мы отпускаем локи на записи. 6. Если несколько команд работало с одним и тем же postgres large object, он остаётся жить до тех пор, пока не завершится последняя команда которой он нужен. В итоге пользователь приходит на сайт, загружает несколько картинок. Они сохраняются в pg large object. Для каждой делается задача на сохранение на диск и вот этот воркер или несколько таких воркеров их процессят. В воркере ограничение на 5 процессов, так что 5 штук жмутся параллельно для каждого инстанса воркера (пока один, но скоро будут два).

Рядом в ленте

ИИгорьМожете меня поздравить, я наконец начал пользоваться нейронками. В обнимку с клодом 4.7 смог написать код нового воркера, который параллельно процессит задачи иDDenis Obrezkovа можешь в общих словах сказать, как оно примерно работает?
это сообщение
ИИгорьДля этого пришлось написать класс который берёт блокировки в постгресе, класс который работает с large object и кучу всякой машинерии. Ну и сами операции с даннИИгорьКлод ещё сильно помог с кодом частичного выкачивания файла от пользователя без сохранения его целиком в память. Но я это пока ещё не пробовал, надо загрузить ви
УУчим Питон (Чат)Учим Питон (Чат)@learnpythonforfun_chat · группа · Образование
615участников55 988сообщений в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем