@ru_python

Страница 3638 из 9768
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
И как квартиру в городе купить за такую за ? Сколько собирать?

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-конфиг.

Надо же, что бы у всех работало.

Наверное.

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
Но я же не буду вместе с requirements.txt в репе хранить ssh-конфиг.
в репе нет, в системе управления конфигурацией, которая его деплоит - запросто

но вообще да, надо побить тех, кто гит на нестандартный порт повесил

Aleksey
29.08.2017
14:29:20
Возможно, тебе больше подойдёт celery.
С celery будет скачиваться файлы друг за другом в очереди?

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

Maxim robox
29.08.2017
14:30:53
С celery будет скачиваться файлы друг за другом в очереди?
Celery это очередь задач. Ты в брокер закидываешь задачи в очереди, а workerы их выполняют. От количества воркеров зависит, по очереди или параллельно. Воркеры могут быть даже на разных машинах.

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

и название huey приятно уху))

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

Aleksandr
29.08.2017
14:44:55
Celery это стандарт в индустрии. Он немного сложноват для старта, но знания будут очень полезны.
в индустрии чего? очередей задач примерно сотня-другая, десяток можно набрать быстрых и хороших разной степени сложности

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

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

Aleksandr
29.08.2017
14:48:54
Я разве сказал что-то типа: «celery — единственный и неповторимый»?
ну так не стандарт а просто популярная весьма древняя очередь задач с тяжелой наследственностью

Альтернативы есть. Но большинство сидит на celery.
большинство кого? питонистов? среди знакомых?

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
я про стандарт в индустрии удивился
ну я вот навскидку из альтернатив знаю только rq

либо велосипед ваять

так что, да, по сути, один из стандартов

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 неплох, но это немного другого уровня штука

Nikolay
29.08.2017
15:00:42
мне пора уходить от basicConfig, да?)
то есть что-то в миграции перезаписывает параметры логгинга?

это прям странно

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)

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
смотри, из какого конфига она берет это говно
# this is the Alembic Config object, which provides # access to the values within the .ini file in use. config = context.config

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

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

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