
BlackAndOrange
29.08.2017
14:04:38

Jay
29.08.2017
14:05:11
https://vk.com/durov?w=wall1_1967550

BlackAndOrange
29.08.2017
14:06:33
Если просто выводишь на stdout, то есть такой грязный хак
import sys
sys.stdout = sys.stderr = open('exec.log', 'w')
Ещё можно запускать gunicorn со флагом --capture-output, тогда вывод пойдёт туда же, куда и лог самого gunicorn

Google

BlackAndOrange
29.08.2017
14:09:29
@Vaderoff Короче, тьма вариантов

Iuliia
29.08.2017
14:11:50
А что можно сделать за 140 к в мес в России?

Проксимов
29.08.2017
14:12:04

Iuliia
29.08.2017
14:12:49
И как квартиру в городе купить за такую за ? Сколько собирать?

Проксимов
29.08.2017
14:13:12

Iuliia
29.08.2017
14:13:14
Не в Москве например

Диёр
29.08.2017
14:13:14
Если один живёшь, то вообще спокойно

Проксимов
29.08.2017
14:13:20
И вообще в @pyflood

Iuliia
29.08.2017
14:13:32
Город с населением около 1000 000
Есть такие там? Нижний Новгород ростов на дону

Диёр
29.08.2017
14:14:15
Там таких зарплат нет))

Iuliia
29.08.2017
14:14:37
Ясно..спасибо

Google

Hot
29.08.2017
14:16:45
Ребзи
А если у мне в requirements.txt надо вписать git-репозиторий, у которого порт нестандартный, то какой будет синтаксис?
Там просто после : уже указывается путь к репе, и поставить перед ним ещё :порт не прокатило.
Ругается на синтаксис.
17:16 < kosc_job> Hello! How should I write in requirements.txt if I want to get python module from git with custom port?
17:17 < tech2> kosc_job: why not tell your IT group exactly where they can stick their broken firewalling configuration? :(
Ахахах

Nikolay
29.08.2017
14:20:19
ну как бы логично он тебе сказал)
имхо, можно поправить ~/.ssh/config
как грязное решение
вот тут есть пример https://stackoverflow.com/questions/1558719/using-a-remote-repository-with-non-standard-port

Hot
29.08.2017
14:22:21
Да, я сейчас себе так получаю.
Но я же не буду вместе с requirements.txt в репе хранить ssh-конфиг.
Надо же, что бы у всех работало.
Наверное.

Vaderoff
29.08.2017
14:22:48

Aragaer
29.08.2017
14:24:14
по-моему работает если гит работает по ssh-протоколу, то можно указать ssh://some-host:12345/some/path/to.git

Sergey
29.08.2017
14:25:07
ssh+git, не?

Aleksey
29.08.2017
14:25:08
Нужно много видео скачивать, есть ли смысл использовать tornado?

Vasiliy
29.08.2017
14:25:44

Maxim robox
29.08.2017
14:27:20

Google

Nikolay
29.08.2017
14:28:44
но вообще да, надо побить тех, кто гит на нестандартный порт повесил

Aleksey
29.08.2017
14:29:20

Rinat
29.08.2017
14:30:49
очередь если одна то да )

Maxim robox
29.08.2017
14:30:53

Rinat
29.08.2017
14:31:09
а так можно и huey юзать, попроще будет чем сельдерей
и название huey приятно уху))

Maxim robox
29.08.2017
14:31:43
Celery это стандарт в индустрии. Он немного сложноват для старта, но знания будут очень полезны.

Rinat
29.08.2017
14:32:19

Aleksandr
29.08.2017
14:44:55

Maxim robox
29.08.2017
14:45:36

Aleksandr
29.08.2017
14:47:11
В вебе на питоне.
очередь задач в общем может быть написана на чем угодно, и питон может работать с любой другой. так что странный стандарт.

Maxim robox
29.08.2017
14:47:43
Альтернативы есть. Но большинство сидит на celery.

Aleksandr
29.08.2017
14:48:54

Nikolay
29.08.2017
14:50:17
CELERY

Maxim robox
29.08.2017
14:51:02

Aleksandr
29.08.2017
14:52:06

Aleksey
29.08.2017
14:52:09
Да целари самая популярная, даже больше других звезд на гитхабе

Google

Nikolay
29.08.2017
14:52:36
либо велосипед ваять
так что, да, по сути, один из стандартов

Aleksandr
29.08.2017
14:57:04
либо велосипед ваять
каждая новая очередь сообщений (задач) появляется строго по одной причине - нужно быстрее. при этом не нужно миллиарда того что умеют старички. поэтому годных и довольно простых реализаций масса

Nikolay
29.08.2017
14:57:47
а “старички” набили кучу шишек и за тебя решили массу проблем

Dmitry
29.08.2017
14:58:08
для простых задач вполне может сойти python-rq

Aleksandr
29.08.2017
14:58:38

Admin
ERROR: S client not available

Nikolay
29.08.2017
14:58:47

b0g3r
29.08.2017
14:58:56
мастерам алембика. Есть задача применять миграции при запуске скрипта. Стоит .basicConfig(), логи пишутся. Добавляю flask_migrate.upgrade() - в аутпут пишется инфа от алембика, что мол миграция применена, и мои логи писаться после этого перестают
внутри этот фласк-мигрейт дергает alembic.comand.upgrade: https://github.com/miguelgrinberg/Flask-Migrate/blob/6439eb8254818ee690431d69270f77b9cbaf5491/flask_migrate/__init__.py#L259

Dmitry
29.08.2017
14:59:17
для чего-то средней и выше сложности уже можно смотреть в сторону RabbitMQ

Nikolay
29.08.2017
14:59:34
ipyparallel неплох, но это немного другого уровня штука

b0g3r
29.08.2017
15:00:08

Nikolay
29.08.2017
15:00:42
это прям странно

b0g3r
29.08.2017
15:01:03

Nikolay
29.08.2017
15:01:23

b0g3r
29.08.2017
15:01:29
да

Google

Nikolay
29.08.2017
15:01:31
а не напрямую через logging?
тогда очень странно
надо грепать по слову logging

b0g3r
29.08.2017
15:01:52
чем заменить basicConfig? addHandler?

Nikolay
29.08.2017
15:02:05
да все в порядке с basicConfig
надо искать, что перезаписывает настройки
но можно и хэндлер попробовать

b0g3r
29.08.2017
15:02:51
# Interpret the config file for Python logging.
# This line sets up loggers basically.
fileConfig(config.config_file_name)

Nikolay
29.08.2017
15:03:02

b0g3r
29.08.2017
15:03:03
выглядит подозрительно

Nikolay
29.08.2017
15:03:05
смотри, чего там

b0g3r
29.08.2017
15:03:15
так а че смотреть
я ж либу править не буду

BlackAndOrange
29.08.2017
15:03:25
def configure_logger():
# Log messages formatter to output to console
consoleFormatter = colorlog.ColoredFormatter('%(threadName)16s:%(log_color)s%(levelname)8s'
'%(reset)'
's<%(cyan)s%(asctime)s%(reset)s> %(message)s',
reset=True,
log_colors={'INFO': 'green',
'WARNING': 'yellow',
'ERROR': 'red'})
# Log messages formatter to output to file
logFormatter = logging.Formatter('%(threadName)16s:%(levelname)8s <%(asctime)s> %(message)s')
fileHandler = RotatingFileHandler('cryptobot.log',
encoding='utf-8',
maxBytes=cfg.log_max_size,
backupCount=cfg.log_max_count)
fileHandler.setFormatter(logFormatter)
rootLogger.addHandler(fileHandler)
consoleHandler = logging.StreamHandler()
consoleHandler.setFormatter(consoleFormatter)
rootLogger.addHandler(consoleHandler)
У меня в своё время работал вот этот отрывок кода. Ни на что не претендую, но вроде норм.

Nikolay
29.08.2017
15:03:38
смотри, из какого конфига она берет это говно

BlackAndOrange
29.08.2017
15:03:41
Ааа, секунду, залью нормально
https://gist.ttv.one/en/view/59a5825607623

b0g3r
29.08.2017
15:04:02

Nikolay
29.08.2017
15:05:48
Ну, попробуй свой хэндлер

b0g3r
29.08.2017
15:06:09
спасиб