@ru_python

Страница 7760 из 9768
Vasia
17.01.2019
09:09:54
не бессмысленный, тк убирает попытку логина по юзернейм

мало ли какая уязвимость найдется в ссш, так хотя бы не будет известен пользователь

Tishka17
17.01.2019
09:11:42
Ребята, гляньте, как? https://pastebin.com/3ge730Y0
except Exception as e: Не надо так

Slam! 538
17.01.2019
09:12:12
Google
Tishka17
17.01.2019
09:12:30
Что это вообще?

Slam! 538
17.01.2019
09:12:58
Tishka17
17.01.2019
09:13:04
Код

Slam! 538
17.01.2019
09:13:13
Веб сервер

Tishka17
17.01.2019
09:13:31
Принт лучше сразу на logging заменить

Веб сервер
А зачем?

Slam! 538
17.01.2019
09:13:40
Хочется

Alexey
17.01.2019
09:13:47
Как правильно написать программу, у которой есть бесконечный цикл, который должен крутиться постоянно, и при этом она должна отвечать на http запросы - API? И в случае exception в этом цикле программа должна завершаться с кодом 1. Мои идеи: 1. Использовать async/await - пока не знаю как именно, но знаю, что с помощью асинхронной библиотеки можно делать бесконечный цикл, а само API, например, будет работать на flask - и по запросу стартовать этот цикл и завершать. 2. Использовать Threading, семафоры, итп. 3. Вообще написать два отдельных python файла, один из который будет отвечать на API запросы, а во втором будет крутиться цикл и как-то их связать? Какой наиболее верный в этом случае способ? Заранее благодарю за ответ.

Slam! 538
17.01.2019
09:13:48
?

Yury
17.01.2019
09:14:23
1 идея кул даже может взять aiohttp

Alex
17.01.2019
09:14:29
А зачем?
он еще вчера говорил что хочет свой веб-сервер на сокетах.

Yury
17.01.2019
09:14:40
ну или взять микрофрейм какой-то для веб сервера

Google
Yury
17.01.2019
09:14:46
аля фласк

Alexey
17.01.2019
09:14:56
Разделить на две программы
А как их правильно связать? Как я смогу обращаться к объекту из второй программы в первой?

Slam! 538
17.01.2019
09:15:54
Через базу данных
А если один скрипт должен второй пингануть?

Alexey
17.01.2019
09:16:13
Через базу данных
Сейчас у меня redis прикручен туда, не хочу полноценную реляционную БД добавлять, а через redis схему пока не понимаю как составить.

Slam! 538
17.01.2019
09:16:25
О, редис

Tishka17
17.01.2019
09:16:36
А если один скрипт должен второй пингануть?
Интересно, как ты пинганешь веб сервер и зачем

В другую сторону - ок, любой сервер очередей. Хоть редис можно

Alexey
17.01.2019
09:17:13
Задача в том, что мне над к объекту, который в этом цикле крутится, обращаться, получать из него данные. Это selenium драйвер крутится, проверяет состояние.

Tishka17
17.01.2019
09:17:20
Да, FileNotFound
Не только

Tishka17
17.01.2019
09:17:33
Это сложно?)
Бессмысленно и непонятно

Vasia
17.01.2019
09:17:36
у меня сериал порт и апи, которое отдает его данные

Tishka17
17.01.2019
09:17:40
А так можно дернуть по хттп

Vasia
17.01.2019
09:18:04
я сделал так: долгий луп - в отдельны поток, апи - в главный поток, асинхронно

Alexey
17.01.2019
09:18:04
1 идея кул даже может взять aiohttp
Она может и кул, но есть ли реальный опыт, как лучше это сделать?

Tishka17
17.01.2019
09:18:11
Что такое веб сервер - клиент пришел, получил данные, ушел.

Зачем веб сервер как-то пинговать непонятно

Google
Vasia
17.01.2019
09:18:28
если ты не собирашься выкидывать это в продакшен, а чисто для себя то решение вполне

Slam! 538
17.01.2019
09:18:33


Vasia
17.01.2019
09:18:40
С помощью async/await?
только апи часть

Tishka17
17.01.2019
09:18:56
На тот, который в урле?

Alexey
17.01.2019
09:19:16
только апи часть
А какие потоки тогда ты имеешь ввиду, Thread библиотеку?

Vasia
17.01.2019
09:19:27
перед запуском апи части в отдельный поток отправляю функцию, которая будет жить параллельно

если функция не цпу жрущая - то поток

если жрет цпу - то процесс

это подробно расписано в доке по асинайо

SetazeR
17.01.2019
09:20:23
Утро начинается с говнокода
да, точно не с нескафе

Tishka17
17.01.2019
09:20:26
Не надо так

Сделай две программы

Vasia
17.01.2019
09:20:39
критикуешь - аргументируй

Tishka17
17.01.2019
09:20:44
Хоть через файлы данные передавай

Vasia
17.01.2019
09:20:50
если это для себя - две программы нафиг не упали

и делать интерфейс между двумя программами через файл - уж точно говнокод

Google
Vasia
17.01.2019
09:21:32
одинаково писать

просто ты все вызываешь в одном месте

Tishka17
17.01.2019
09:21:43
Файл - одно из вариантов хранилища. Может быть заменено на БД не влияя на общую архитектуру решения

Alexey
17.01.2019
09:22:08
Мог бы и через файлы и через redis передавать, вопрос не в этом, а в том, что как обратиться к объекту, который в цикле крутится, за данными?

Vasia
17.01.2019
09:22:23
при этом у нас будут общие переменные, которые уже можно шарить между кусками программы

Admin
ERROR: S client not available

Vasia
17.01.2019
09:22:52
а то щас начнутся велосипеды типа сокета

Vasia
17.01.2019
09:23:07
там есть нюанс с потокобезопасностью

но есть в библиотеке уже готовые решения

Tishka17
17.01.2019
09:23:42
У тебя три логические сущности: Данные Генератор данных Веб приложение для раздачи

Так и раздели их

Данные лежат в файле.

Генератор их туда кладёт

Vasia
17.01.2019
09:24:17
зачем их делить физически, если они разделены логически и вполне могут вызываться из одного места

Google
Tishka17
17.01.2019
09:24:18
Веб приложение раздает

Alexey
17.01.2019
09:24:20
при этом у нас будут общие переменные, которые уже можно шарить между кусками программы
Не совсем понимаю, как в предложенной тобой архитектуре это реализуется, мог бы объяснить подробнее?

Vasia
17.01.2019
09:24:32
делать микросервесы на такой простой системе - самая дичайшая тупость

Vasia
17.01.2019
09:25:04
они будут шарить общий ресурс, например Queue

Tishka17
17.01.2019
09:25:08
Тупо запустил два файла и норм

Vasia
17.01.2019
09:25:16
генератор пополняет ресурс, апи его раздает

Terminator
17.01.2019
09:25:24
@chtoToNapisano будет жить. Поприветствуем!

Vasia
17.01.2019
09:25:25
в порядке запуска генератор запускается первым

потом евентлуп, заполненный корутинами апи

все

Alexey
17.01.2019
09:25:57
у тебя будет 2 потока - генератор и апи
А потоки конкретно с помощью чего делаются, subprocess или threading?

Tishka17
17.01.2019
09:25:57
горутины тут при чем?

они перпендикулярны

Alexey
17.01.2019
09:26:22
У тебя три логические сущности: Данные Генератор данных Веб приложение для раздачи
Дело в том, что это не просто генератор данных, который просто по событию эти данные кладёт - а это объект, у которого есть разные методы, которые я хочу вызывать.

Свой
17.01.2019
09:26:24
Привет, можете посоветовать, где найти книги по питону?

Vasia
17.01.2019
09:26:28
если он что-то интенсивно считает - то процессы, если доступ к каким-то ресурсам - то поток

Страница 7760 из 9768