
b0g3r
05.11.2016
22:16:43
о, вадим, только сейчас понял что это ты)
хехе

Vadim
05.11.2016
22:16:44
Вместо celery можно подставить любой воркер, да.

V
05.11.2016
22:16:55

Google

Vadim
05.11.2016
22:17:04
http://www.celeryproject.org/

V
05.11.2016
22:17:17
так, неужели пришло время познакомиться с селери? много слышал, в глаза не видел

b0g3r
05.11.2016
22:17:18
вот за celery зарт точно хуями обкладывал

Denis
05.11.2016
22:17:24
ради 1 функции поднимать селери, брокер?

b0g3r
05.11.2016
22:17:29
за беспорядочное использование)

V
05.11.2016
22:18:33
А чем обыкновенный threading не угодил?
а, не угодил тем, что сейчас пока функция не закончит работу, новый таймер не установится. а если его ставить до выпонения функции, то велика вероятность налететь на ситуацию, когда один запуск еще не закончил, а другой уже начался
я начал уже глядеть в модуль sched, но что-то вроде не совсем то

Denis
05.11.2016
22:19:17
Так нужно считать время выполнения?

V
05.11.2016
22:19:31

Denis
05.11.2016
22:20:02
сколько оно выполняется

V
05.11.2016
22:20:23
знать мне это точно не нужно
еще раз: запуск должен просиходить каждые 5 секунд, но если функция работает дольше 5 секунд, то след запуск должен происходить сразу, как завершился предыдущий

Google

Denis
05.11.2016
22:21:54
просто непонятно зачем разные потоки, это задача или Вы сам пришли к тому, что должно быть именно так?

V
05.11.2016
22:22:20
если ф-ия работает 4 сек, то след запуск должен быть через 1 сек. если 1 сек работает, то след. запуск через 4 сек

b0g3r
05.11.2016
22:22:39
потоки просто про то, что каждая функция работает в своем потоке

V
05.11.2016
22:22:41

b0g3r
05.11.2016
22:22:49
не экземпляр функции, а именно функция

Denis
05.11.2016
22:22:57
Для простой задачи вполне подойдёт обыкновенный Queue
Для многопоточности multiprocessing

V
05.11.2016
22:23:51
вроде threading же?

Aleksandr
05.11.2016
22:23:54
а кто писал телееграм бота?

V
05.11.2016
22:24:42
а Queue под сомнением, т.к. если ф-ия 100 раз подряд выполнится более интервала, то очередь нарастет большая и ненужная

Denis
05.11.2016
22:24:45
queue - просто очередь, Треадинг - немного другое

V
05.11.2016
22:24:53

b0g3r
05.11.2016
22:25:08

John
05.11.2016
22:25:20
Было дело)

Aleksandr
05.11.2016
22:25:29
тогда сейчас вопрос конкретнеей задам

V
05.11.2016
22:25:41

Aleksandr
05.11.2016
22:26:30
2016-11-06 01:26:15,188 (__init__.py:224 MainThread) ERROR - TeleBot: "A request to the Telegram API was unsuccessful. The server returned HTTP 409 Conflict. Response body:
[b'{"ok":false,"error_code":409,"description":"Conflict: terminated by other long poll or webhook"}']"

V
05.11.2016
22:26:57

b0g3r
05.11.2016
22:27:14

Google

V
05.11.2016
22:27:16

m0d
05.11.2016
22:27:22
Ставлю 109 бакинских - зарт сам придумал игру и нарисовал рейтинг?

V
05.11.2016
22:27:24
уже установлен вебхук

b0g3r
05.11.2016
22:27:32
что либо вебхук не снят, либо ещё один лонг-поллинг работает

John
05.11.2016
22:27:40

b0g3r
05.11.2016
22:27:45

m0d
05.11.2016
22:27:49
Корсар

Aleksandr
05.11.2016
22:27:54
что есть вебхук?

b0g3r
05.11.2016
22:28:11
проверь процессы

V
05.11.2016
22:28:21
что есть вебхук?
это когда сервер тг шлет тебе сообщения, а не ты его опрашиваешь

b0g3r
05.11.2016
22:28:28

Aleksandr
05.11.2016
22:29:28
те уже запущены процессы?

b0g3r
05.11.2016
22:29:47
где-то у тебя работает ещё один лонг-поллинг

V
05.11.2016
22:30:13

b0g3r
05.11.2016
22:30:22
(или ты спалил свой токен где-то)

V
05.11.2016
22:30:35

Denis
05.11.2016
22:30:56

Aleksandr
05.11.2016
22:31:08
видимо изза того что запускал скрипт через cmd а потом через vs code

Google

b0g3r
05.11.2016
22:31:16
думаю V M в курсе
я бы даже сказал слишком)

Vadim
05.11.2016
22:33:11
Какие у джуниоров запросы хорошие :) Не нравится селери – не используй. Всё равно потом к нему придешь, когда Queue перестанет хватать.
А то, что кто-то там хуями обложит… "Боже мой, да всем насрать" ©

V
05.11.2016
22:34:57

Vadim
05.11.2016
22:36:23
В самом простом случае это делается и на чистом питоне: запоминаешь время следующего выполнения (или время последнего выполнения) и текущий стейт – запущено/не_запущено, а потом 1 раз в дельту (которая меньше необходимого интервала) запускаешь крон с задачей. Условно говоря, это обычный lock с таймером.

Denis
05.11.2016
22:36:25

Admin
ERROR: S client not available

V
05.11.2016
22:36:31

Vadim
05.11.2016
22:36:46
Поднять редис – это очень жирно, да :)
В этом чате некоторые люди поднимают на линуксе докер-контейнер со скайпом, потому что не секурно, а вы про редис)

Denis
05.11.2016
22:37:25

Vadim
05.11.2016
22:38:04
Прямо захотелось замерить их ресурсопотребление…
Иначе я потом полезу мерить (пока не придумал, как) ресурсопотребление вызова крон-таска с периодичностью в 1 секунду. Не-не, это выше меня :D

V
05.11.2016
22:39:10
пойду я посплю с этой мыслью, вот что. всем большое спасибо!

b0g3r
05.11.2016
22:39:35
в диалоге рождаются мысли для сна)

Denis
05.11.2016
22:41:39
Так дело не в том сколько что отжирает... дело в том, что тянет за собой внешние зависимости. Всё равно, что булочную на танке

Vadim
05.11.2016
22:43:07
Исключительно чтобы обосновать свою точку зрения: код должен работать быстро и быть имплементирован быстро, а сколько он будет затрачивать ресурсов – десятое дело.

Denis
05.11.2016
22:43:13
и тогда уже не редис, а по гуиду на rabbitMQ

Google

Vadim
05.11.2016
22:43:29
Я вас понял. Давайте закроем разговор :)

Denis
05.11.2016
22:43:45
Согласен - тема холиварная

Vadim
05.11.2016
22:45:10
Вариантов реализации множество, я лишь привел удобный (мне) пример :) А то да сейчас пойдем холиварить насчет "стоит ли джангу использовать для апи-бэкэнда или ограничиться торнадой, потому что быстрее и легче" :D
Плавали, знаем :)

Denis
05.11.2016
22:45:50
Я не спорю - селери удобная штука
И когда проект предусматривает множество возможных очередей и асинхронных задач, то селери дефакто

digital
05.11.2016
23:34:13
сап всем кто не спит
подскажите мож кто знает какие то приложения или сайты для проектирования архитектуры бд

Vadim
06.11.2016
00:14:20
Что именно про проектирование интересует?

digital
06.11.2016
00:16:46

Vadim
06.11.2016
00:17:25
А чем любая ORM не угодила? Начиная от встроенной в Django и заканчивая SQLAlchemy?

Denis
06.11.2016
00:18:16
Если же просто визуально рисовать, то dia

Aleksandr
06.11.2016
00:19:24
у djang она вполне понятная тем более книг много и статей

Vadim
06.11.2016
00:19:51
Ну… Нет, честно говоря, у меня была мысль сделать такую софтину. Чтобы можно было на тач-скрине быстро накидывать примитивную архитектуру, глядя в глаза продактам, проджектам и аккаунтам. Дальше возникла проблема с реализацией – эта софтина (на мой взгляд) должна уметь сразу делать джанго модели, а потом еще и подгружать изменения, сделанные в коде. В общем, долго, геморно и мне за это не заплатят ))

Denis
06.11.2016
00:20:55

Vadim
06.11.2016
00:21:15
Денис, у меня вот нескромный вопрос. Ты давно в питоне? Как с джангой? Вопрос по DRF :)

Aleksandr
06.11.2016
00:21:20
а если не заплатят на кой черт тогда стараться ради себя только?

Denis
06.11.2016
00:21:20
Но меня больше тянет в общую организацию процесса разработки

digital
06.11.2016
00:21:44
http://dbdesigner.net/designer

Denis
06.11.2016
00:22:09
От Джанги я отошёл год назад... сейчас больше в теорию микросервисной архитектуры лезу
Эта группа больше не существует