
Aleksandr
16.02.2018
08:52:36

Roman
16.02.2018
08:53:22

Aleksandr
16.02.2018
08:56:40

Google

Maxim
16.02.2018
08:59:31
Вот так примерно.

Jonh
16.02.2018
08:59:32

Roman
16.02.2018
09:01:25

Aleksander
16.02.2018
09:03:38

Maxim
16.02.2018
09:54:42
помните я тут ныл что aiohttp за кубернетесом выдает 504 на долгие запросы к БД?
оказывается, aiopg.sa.create_engine() по умолчанию задает таймаут 60 секунд, вот в него я похоже и упирался, а aiohttp тут не при чем
вдруг кому-то будет полезно)

Николай Птицын
16.02.2018
09:55:39

Roman
16.02.2018
09:55:44

Maxim
16.02.2018
09:55:57
ну
sqlalchemy core да
через aiopg.sa

Николай Птицын
16.02.2018
09:56:08

Maxim
16.02.2018
09:56:22
есть еще один похожий пакет, который делает SA под постгрес, не помню название
они кажется утверждают, что работает это все быстрее aiopg (вроде потому что юзают бинарный протокол постгреса, а не текстовые запросы)

Google

Maxim
16.02.2018
09:56:53
но я решил взять весь стек от автора aiohttp
ORM асинхронный пока не завезли, да
в частности в питоне не бывает асинхронных сеттеров пока что

Некто
16.02.2018
10:01:53
Или раньше ещё?

Maxim
16.02.2018
10:02:13
$ pip freeze | grep aiopg
aiopg==0.13.2

Некто
16.02.2018
10:02:21
Алхимия
Имеется в виду

Maxim
16.02.2018
10:02:29
я не следил, начал пользоваться вообще асинхронщиной буквально пару месяцев назад
Алхимия
так сама алхимия не умеет, это подпорка со стороны aiopg

Некто
16.02.2018
10:02:52
А ок

Maxim
16.02.2018
10:02:54
она умеет брать Statement от алхимии и асинхронно его выполнять

Некто
16.02.2018
10:03:10
Понятно

Serge
16.02.2018
14:55:59
А почему Фибоначчи, а не Эйлера?
Потому что суть не в том, что это Фибоначчи. Т.е. никого не интересует можешь ли ты именно их реализовать. Я вообще часто спрашиваю микрозадачи, которые прямо тут формулирую. Важно чтобы кандидат почувствовал, что ничего сложного не спрашивают и расслабился, чтобы завязалось общение.
А после этого начинаются любые вопросы рядом и около и дальше.

Denis
16.02.2018
15:03:43

Maxim
16.02.2018
15:30:26

Serge
16.02.2018
15:40:49

Andrey
16.02.2018
15:40:53
Хеллоу Ереван!
перейду сразу к делу

Google

Andrey
16.02.2018
15:41:04
#!/bin/bash
PYTHONPATH='/home/htr/htr-tests'
export PYTHONPATH
source /home/htr/venv/htr-tests/bin/activate
cd $PYTHONPATH
nosetests testmonitoring/test_*py -s
вот это руками исполняется

Serge
16.02.2018
15:41:10

Andrey
16.02.2018
15:41:28
а вот из крона из-под этого же пользователя - нет.
как жить теперь?

Serge
16.02.2018
15:42:08
Полный путь к питону, пробел, полный путь к nose

Andrey
16.02.2018
15:42:50
#!/bin/bash
PYTHONPATH='/home/htr/htr-tests'
export PYTHONPATH
source /home/htr/venv/htr-tests/bin/activate
$PYTHONPATH/bin/nosetests testmonitoring/test_*py -s
так?

Serge
16.02.2018
15:43:02
Ну и PYTHONPATH надо

Andrey
16.02.2018
15:43:13
так он есть же

Denis
16.02.2018
15:43:13
Вообще избавься от строчки с activate

Serge
16.02.2018
15:43:20

Denis
16.02.2018
15:43:58
Все "бинарники" в венве имеют установку окружения в самом начале.
Фигач так: /home/htr/venv/htr-tests/bin/nosetests

Serge
16.02.2018
15:44:42
И Python path возможно и не понадобится

Andrey
16.02.2018
15:44:54
не работает
я идиот
я понял почему не работает

Google

Serge
16.02.2018
15:45:56
не работает
Короче, смотри, всегда работает так:
Полный путь к питону внутри venv, пробел, полный путь к бинарю типа

Andrey
16.02.2018
15:45:56
потому что cd надо было сделать
щас поправлю

Serge
16.02.2018
15:46:06
Полный путь к тестам или cd

Andrey
16.02.2018
15:46:17
ага

Serge
16.02.2018
15:47:26

Admin
ERROR: S client not available

Andrey
16.02.2018
15:50:45
щас посмотрю

Serge
16.02.2018
15:51:22
щас посмотрю
Ты попробуй просто без activate в консоли из хомяка чтобы запускалось

Andrey
16.02.2018
16:08:09
в консоли все запускается
а из крона - нет

Sergey
16.02.2018
16:10:25

Andrey
16.02.2018
16:11:20
не-а.
там даже мта нет чтобы cron output посмотреть

Serge
16.02.2018
18:05:22
А не надо ли там какой-нибудь nohup и вывод перенаправить. Ты когда у себя запускаешь оно тебя ничего не спрашивает? Может оно интерактивную сессию хочет?

Vitali K.
16.02.2018
18:08:12
0 * * * * /services/acquired/django/venv/bin/python /services/acquired/django/src/manage.py periodic_stats >> /var/log/acquired/pipeline_scheduler.log 2>&1
Вот пример
@amavlyanov

Serge
16.02.2018
18:51:31
https://spbpython.guru/news/2018/2/18/merch

Google

Lex
18.02.2018
11:35:10
А есть уже отпечатаныне образцы?

Serge
18.02.2018
12:02:59

Maxim
18.02.2018
14:14:23
Армин в нескольких своих видео задвигает, что CFFI лучше чем python C extension. неужели cffi действительно удобный и не добавляет оверхеда?

Sergey
18.02.2018
14:25:33
This
%timeit -n 100000000 run(lib.add, 10, 20)
100000000 loops, best of 7: 53.8 ns per loop
%timeit -n 100000000 run(add, 10, 20)
100000000 loops, best of 7: 40.8 ns per loop
стоимость вызова через cffi

Maxim
18.02.2018
14:26:11
cffi первый?
я так понимаю add это pure-python?
мне все-таки интереснее сравнение с python c api

Stepan
18.02.2018
16:08:46

Roman
18.02.2018
16:10:39
ctypes - это адов тормоз. не связывайтесь с ним.

Maxim
18.02.2018
16:11:21
я вот писал экстеншены только на sip, еще хотел в сторону pybind11 смотреть (это вроде нечто типа boost::python)

Roman
18.02.2018
16:11:25
а если сравнивать cffi vs c-api, то в cpython разницу вы никогда не увидите, кмк

Maxim
18.02.2018
16:11:34
естественно собираю это все не через distutils =)

Roman
18.02.2018
16:11:43
потому что cpython настолько медленный

Maxim
18.02.2018
16:12:17
надо будет глянуть
а cffi умеет отпускать GIL при вызове сишного кода?

Roman
18.02.2018
16:15:35