Size: a a a

2020 March 25

KS

Konstantin Sirotkin in Python Flask
но я это поборю
источник

AT

Alex Ted in Python Flask
тогда есть смысл
источник

KS

Konstantin Sirotkin in Python Flask
то есть пока план такой: получить одну страницу, узнать сколько страниц, создать список функций через partial, передать их в as_completed
источник

AT

Alex Ted in Python Flask
асинхронно, либо с использованием тредов
источник

KS

Konstantin Sirotkin in Python Flask
получив каждую страницу итерироваться по нему, делать yield построчно
источник

KS

Konstantin Sirotkin in Python Flask
вопрос: что будет, если страниц миллион, не закончится ли память?
источник

AM

Artur Mustafin in Python Flask
Konstantin Sirotkin
вопрос: что будет, если страниц миллион, не закончится ли память?
все когда-нибудь заканчивается
источник

AT

Alex Ted in Python Flask
может, а может и сетевуха начнет дропать инфу из буфера, если приложение не будет успевать обрабатывать такое кол-во данных
источник

KS

Konstantin Sirotkin in Python Flask
page functions = [
   partial(executor.submit, myfunc, page=2),
   partial(executor.submit, myfunc, page=3),
   partial(executor.submit, myfunc, page=4),
   partial(executor.submit, myfunc, page=5),
   partial(executor.submit, myfunc, page=6)
]

for page_result in as_completed(page_functions):
   for item in page.items
       yield item
источник

KS

Konstantin Sirotkin in Python Flask
ну вот
источник

KS

Konstantin Sirotkin in Python Flask
executor будет ThreadPoolExecutor
источник

NL

Nikita L in Python Flask
Не возникнет такого, что в процессе итераций количество страниц может изменится, а генератор будет идти по заранее сформированным функциям?
источник

KS

Konstantin Sirotkin in Python Flask
я правильно понимаю, что если в page_function будет миллион функций, то as_completed заставит их все выполняться и они заполнят всю память?
источник

KS

Konstantin Sirotkin in Python Flask
Nikita L
Не возникнет такого, что в процессе итераций количество страниц может изменится, а генератор будет идти по заранее сформированным функциям?
точное наблюдение
источник

KS

Konstantin Sirotkin in Python Flask
но на этот вопрос есть ответ: когда мы просим api выдать данные, мы также передаем datetime с текущим временем
источник

KS

Konstantin Sirotkin in Python Flask
так что с этим никаких проблем
источник

NL

Nikita L in Python Flask
Сама концепция класть результат апи в генератор немного странная. Апи же выдает данные актуальные на этот момент
источник

NL

Nikita L in Python Flask
Konstantin Sirotkin
но на этот вопрос есть ответ: когда мы просим api выдать данные, мы также передаем datetime с текущим временем
Ок
источник

KS

Konstantin Sirotkin in Python Flask
апи выдает актуальные данные на момент, который передается явно
источник
2020 March 26

tn

tot samiy neizvestniy in Python Flask
Привет.
Покрываю проект тестами с помощью pytest.
В каждом приложении сделал папку tests, внутрь которой поместил файлы с тестами приложения.
В каждой папки tests есть conftest фикстуры под каждое приложение.

Когда я запускаю тесты по отдельности для каждого приложения (типа pytest apps/users) всё работает хорошо.
Но когда я запускаю тесты целиком для всего проекта (просто pytest) - для первого приложения тесты проходят норм, но дальше бросает ошибку  sqlalchemy.exc.ResourceClosedError: This Connection is closed

(в тесты прокидываю сессию)
источник