170 похожих чатов

Всем привет! Имеется асинхронный бот, который открывает За большие файлы, порой

более 1гб, тк открытие файла является блокирующей функцией - бывает что другой пользователь ждет окончание цикла первого пользователя.

Хочу исправить этот момент, что можете посоветовать на этот случай? Заранее благодарю за ответы!

8 ответов

7 просмотров

aiofiles или run_in_executor. А вообще похоже на то, что у тебя файл используется вместо бд

Artem-Babkin Автор вопроса
Artem Babkin
Что есть файл вместо бд?

Когда ты инфу хранить текстом, а не базой. Просто пишешь/читаешь все в тхт

Artem Babkin
Что есть файл вместо бд?

Я не понял твоего вопроса. Есть разные базы данных, предназначенные для хранения данных, например, релиационные. Вот в них и нужно все хранить, тогда не будет таких проблем, как у тебя

Artem-Babkin Автор вопроса
genya
Я не понял твоего вопроса. Есть разные базы данных...

Загвоздка в том, чтобы отдать файл пользователю - надо его передать открытым файлом, поэтому приходится его открывать, из-за чего собственно и возникает проблема с блокировкой асинхронности

Artem-Babkin Автор вопроса
genya
aiofiles или run_in_executor. А вообще похоже на т...

Тоже не все так просто - используется библа которая скачивает собственно сам файл и открывает его в формате with ... as file: собственно подставить туда aiofiles не получается ругается "RuntimeWarning: Enable tracemalloc to get the object allocation traceback"

Значит твой бот не асинхронный

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
32
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
25
Книга Юрова В.И пойдёт для обучения?
Botsman
24
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Подскажите пожалуйста, а я могу вот такую штуку использовать? rpc, только реализованное в реббите https://www.rabbitmq.com/tutorials/tutorial-six-php ( или https://habr.com/ru...
Artyom
11
а мы ещё не созрели до того, чтобы создать отдельный чатик про настройку редакторов?
Cheese Syrowiecki
16
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Всем привет! У меня почему-то по-разному отображается TListView в Debug и Release режимах (FireMonkey)! При запуске под Win приложения TListView заливается программо. в Debug ...
Александр COM
8
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
Парни, спасайте. RAD Studio 12 творит какую-то дичь. У меня есть метод (event), который вызывает другой метод, т.е. он состоит из 1-й строки вызова. Ставлю бряк на event, запу...
Eugene Krasnikov (ᴊɪɴ x)
3
Карта сайта