Vitaliy
Привет, ребятки!
1. Есть машинка Linux version 3.10.0-957.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018
2. Есть сервис flask + gunicorn
3. Запускаю gunicorn --workers=4 --bind=0.0.0.0:8080 svc.http_app:app
4. ip_машинки:8080 не подключается...
=(
Почему не удаётся подключиться?
Ivan
А доступ к машине точно есть?
Anonymous
Какую библиотеку лучше использовать для многопотока? Threading вроде как и не настоящий многопоток из - за GIL, а субпроцессинг, думаю, будет много отжирать ресурсов при, например, 200 процессах. Есть что - то еще?
Андрей
Ага
Другой язык
Anonymous
Андрей
Проксимов
Vitaliy
В логах что?
Пардон, в логах машинки или логах flask? По flask всё тихо.
Vitaliy
В логах что?
А если на машинке, то можете тыкнуть - где глядеть?
Андрей
А перед гуникорном есть кто-то?
(Нгинкс)
Максим
всё просто
Максим
машинка за файрволом
Максим
напиши netstat -ta
Максим
и сбрось нам
Максим
Напиши netstat -ta
Максим
видишь 8080 port listening?
Максим
Да -> машина за файрволом
Нет -> сервер не запустился
Vitaliy
Андрей
Значит гуникорн не слушает его
Иван
Vitaliy
Значит гуникорн не слушает его
Делал iptables -I INPUT -p tcp -m tcp --dport 8010 -j ACCEPT
Теперь по этому порту gunicorn не может запустится
Андрей
Vitaliy
Не знаю, что сделано... Но заработало...
Vitaliy
😢😅
Jahrley
Есть иерархие директорий:
top—+
|
+common—+
| |
| +—template.py
|
+specific—+
|
+—instance.py
Как я могу импортировать содержимое template.py в файле instance.py?
Максим
Плохая архитектура
Максим
если тебе в instance нужен template и они обе в поддерикториях то ты что-то делаешь не так
Jahrley
А как разбить чтоб было удобнее? В неком top есть несколько десятков specific директорий, которым нужен template.py. Куда лучше положить template?
angellll
Я не бот
Vitaliy
Vitaliy
Просто в директории надо добавить __init__.py, тобы директория была пакетом
Jahrley
Vitaliy
Vitaliy
в top?
Древовидная структура пакетов
Jahrley
__init__.py оставлять пустыми или что-то в них должно быть?
Vitaliy
Vitaliy
Или же добавить импорты на уровне пакета
Julian 🏳️🌈
Вот с импортами я так и не понял, как это работает
Julian 🏳️🌈
🌝
Jahrley
Vitaliy
чтобы импортировать
from common.template import CONST
Jahrley
Vitaliy
Создать файл в корне типа run.py
В run.py импортни свою приложуху
И запускай как модуль кстати
python3 -m instance
Vitaliy
Julian 🏳️🌈
Есть плюс от __main__.py
Julian 🏳️🌈
Когда у тебя есть папка dirname
Julian 🏳️🌈
А в ней __main__.py
Julian 🏳️🌈
То находясь в корневой папке ты можешь просто дернуть python -m dirname
Julian 🏳️🌈
И __main__.py сам запустится автоматом
Julian 🏳️🌈
Т.е. будет точкой входа
Julian 🏳️🌈
https://twitter.com/realpython/status/1149874828981276672?s=19
Julian 🏳️🌈
Топ штука
Julian 🏳️🌈
Правда если будешь делать console_scripts и загонять в pip, то все равно прийдется указывать явно
Vitaliy
Vitaliy
Не помню точно.
В общем надо PYTHONPATH
Jahrley
Julian 🏳️🌈
Шел скриптом?))0)
Jahrley
просто линком на тот файл
Vladyslav 🇺🇦🇪🇺
Vladyslav 🇺🇦🇪🇺
🧐
Vladyslav 🇺🇦🇪🇺
Жаль что не nvidia
Jahrley
> маякните
XD
Андрей
Vladyslav 🇺🇦🇪🇺
Я же то еще пацанчик
Серафима O̡͙ ͈_O̧͖̣
Бля как обозначить интервал в массиве
Tishka17
1. Что за массив?
2. Что ты имеешь ввиду под интервалом?
Tishka17
Массив - это что? arrays.array? np.array? Обычный список?
Серафима O̡͙ ͈_O̧͖̣
Чтобы например цикл прошелся по нижнему ряду по пикселям от 5 до 9
Tishka17
Видимо, np, тогда я пожалуй сольюсь
Серафима O̡͙ ͈_O̧͖̣
Серафима O̡͙ ͈_O̧͖̣
Как обратиться епта к этим пикселям нахуй