Size: a a a

2020 May 03

ПП

Проксимов Прксимович... in Python Flask
Работал кто с Flask-RQ2? Не понимаю как запустить шедулер для выполнения джобы по времени. Он стопит основной поток фласка. А запустить извне не получается так как возникают циклические импорты
источник

T

Tishka17 in Python Flask
А почему бы не запустить просто таску отдельным процессом?
источник

T

Tishka17 in Python Flask
То есть безо всяких rq
источник

ПП

Проксимов Прксимович... in Python Flask
Tishka17
А почему бы не запустить просто таску отдельным процессом?
Мне так посоветовали архитектурно
источник

T

Tishka17 in Python Flask
Если я правильно понял, flask-rq2 - биндинг к rq. А rq - фреймворк для выполнения тасков через очередь, который вместо вменяемого формата передачи юзает пикл, а вместо реальной очереди - редис.
источник

T

Tishka17 in Python Flask
То есть вообще не понятно, при чем тут планировщик
источник

T

Tishka17 in Python Flask
Tishka17
Если я правильно понял, flask-rq2 - биндинг к rq. А rq - фреймворк для выполнения тасков через очередь, который вместо вменяемого формата передачи юзает пикл, а вместо реальной очереди - редис.
То есть, если понадобится съехать с этого говна, будет много мата
источник

T

Tishka17 in Python Flask
Кстати. Мне тут посоветовали apscheduler для периодических тасков. Я так глянул - выглядит как довольно специфическая вещь для периодики, которой надо управлять. К тому же, с плохими реализациями стораджей из коробки.

Кто что думает? Имхо для подавляющего большинства задач - бессмысленое усложнение
источник

ПП

Проксимов Прксимович... in Python Flask
Tishka17
То есть вообще не понятно, при чем тут планировщик
Ну тогда как вариант я могу просто по системному крону гонять
источник

T

Tishka17 in Python Flask
Проксимов Прксимович
Ну тогда как вариант я могу просто по системному крону гонять
rq - это странный "аналог" селери
источник

T

Tishka17 in Python Flask
Зачем нужны биндинги к фласку - вообще не понял
источник

V

Vlad in Python Flask
Проксимов Прксимович
Работал кто с Flask-RQ2? Не понимаю как запустить шедулер для выполнения джобы по времени. Он стопит основной поток фласка. А запустить извне не получается так как возникают циклические импорты
Имхо шелдер отдельно, по крайне мере так в celery сделано
источник

NR

Nikolay Romeiko in Python Flask
Всем привет. Подскажите плз, есть flask app и авто тесты. Если ставлю app.config['DEBUG'] = False - падает 1 из тестов и возвращает после реквеста другой статус_код(500 вместо 401 - который я прописал) и сообщение Internal Server Error вместо моего custom. В дебаг режиме все ок.  
response = client.get('/item/test_item_1') - тест на авторизацию без токена, просто гет запрос и апи должно вернуть jsonify({'message': 'Could not authorize. Did you include a valid Authorization header?'}), 401
Почему так? https://pastebin.com/ZCrKkiKi
источник

V

Vlad in Python Flask
Nikolay Romeiko
Всем привет. Подскажите плз, есть flask app и авто тесты. Если ставлю app.config['DEBUG'] = False - падает 1 из тестов и возвращает после реквеста другой статус_код(500 вместо 401 - который я прописал) и сообщение Internal Server Error вместо моего custom. В дебаг режиме все ок.  
response = client.get('/item/test_item_1') - тест на авторизацию без токена, просто гет запрос и апи должно вернуть jsonify({'message': 'Could not authorize. Did you include a valid Authorization header?'}), 401
Почему так? https://pastebin.com/ZCrKkiKi
потому что при дебаге изменяются настройки репонсов
источник

V

Vlad in Python Flask
всё прописано в оф. доке, при дебаге идёт развертка ответа
источник

NR

Nikolay Romeiko in Python Flask
Vlad
потому что при дебаге изменяются настройки репонсов
Спасибо, пока больше с позиции тестирования подхожу, но придется углубится для понимания. То есть это норм практика - тесты с дебаг тру?
источник

T

Tishka17 in Python Flask
А зачем в тестах app.run вообще?
источник

T

Tishka17 in Python Flask
Nikolay Romeiko
Всем привет. Подскажите плз, есть flask app и авто тесты. Если ставлю app.config['DEBUG'] = False - падает 1 из тестов и возвращает после реквеста другой статус_код(500 вместо 401 - который я прописал) и сообщение Internal Server Error вместо моего custom. В дебаг режиме все ок.  
response = client.get('/item/test_item_1') - тест на авторизацию без токена, просто гет запрос и апи должно вернуть jsonify({'message': 'Could not authorize. Did you include a valid Authorization header?'}), 401
Почему так? https://pastebin.com/ZCrKkiKi
А трейс есть?
источник

NR

Nikolay Romeiko in Python Flask
https://github.com/nikolay-qa/rest_api_testing_pytest
Ну такой проект. Это по курсу юдеми.
Вот трейс https://pastebin.com/jGjhUbUi
источник

ПП

Проксимов Прксимович... in Python Flask
Tishka17
rq - это странный "аналог" селери
взял селери
источник