
Iliya
24.07.2019
08:16:37
День добрый, возникла необходимость сгенирировать много однотипных схем и предложили сделать это с помощью jinja2.
Стал разбираться, но что-то не пойму, для того чтобы все нормально рисовалось надо еще веб фреймворт ставить в комплект или только либы jinja хватит.
Подскажите пожалуйста, а никогда с этим не сталкивался.

Kirill
24.07.2019
08:17:35

Alex
24.07.2019
08:18:42

Shieldy
24.07.2019
08:23:53
Добро пожаловать, @Dauren10!
Не забудь ознакомиться с правилами чата.
https://t.me/ru_python/802295

Google

Dauren
24.07.2019
08:24:03
Всем привет

Shieldy
24.07.2019
08:25:18
Добро пожаловать, Максим Гвоздецький!
Не забудь ознакомиться с правилами чата.
https://t.me/ru_python/802295

Dauren
24.07.2019
08:29:28
Как подключить во Flask другие файлы содержащие функции с роутами?

Kirill
24.07.2019
08:30:13

Dauren
24.07.2019
08:30:54
только через blueprint можно ?
нельзя типа import new *?
и в браузере вызвать эту функцию?
new это new.py содержащая
from flask import Flask
application = Flask(__name__)
@application.route('/new')
def new():
return 'Index Page'

Kirill
24.07.2019
08:33:20
Можно

Dauren
24.07.2019
08:33:51
но когда так делаю и перехожу site.ru/new
не работает

И
24.07.2019
08:34:37
re.findall('(\w+:\/\/\S+|\w+[\.:]\w+\S+)[^\s,\.]', "the ferf at http://test.com/erferf to be tsdfsd.com5/rtgrt/fsdfd about the sdf, sdffg to a 34544 sdffg from the V.G. sdfg https://ferferfer.com Bureau", flags=re.IGNORECASE) Почему выдает последний элемент без одной буквы?
хотя даже все элементы у которых в конце режит 1 символ

Google

Дмитрий
24.07.2019
08:38:03
не работает
конечно, этот маршрут работает для объявленного в new.py приложения, которое даже не запущено скорее всего

Dauren
24.07.2019
08:38:48
и как надо запустить?

Дмитрий
24.07.2019
08:39:33

Dauren
24.07.2019
08:39:58
т.е это надо сделать в самом главном файле
?
объявить декоратор?

Дмитрий
24.07.2019
08:40:08
тебе надо как-то прокинуть объект приложения в твой new.py. или городить циклические импорты или сделать как праивльно
то есть блюпринтами

Dauren
24.07.2019
08:43:13
спасибо, сейчас попробую

Nanodesu
24.07.2019
08:55:29
Каким образом не используя сторонних библиотек() можно запустить функцию как бекграунд таску?
Вот например у меня есть функция которая что-то делает в бесконечном цикле

Дмитрий
24.07.2019
08:56:55

Nanodesu
24.07.2019
08:57:13

Danil
24.07.2019
08:57:33

Дмитрий
24.07.2019
08:57:38
можно через асинк в теории

Nanodesu
24.07.2019
09:06:15
asyncio.create_task()
async def worker_queue():
while True:
print(que.get())
time.sleep(1)
loop = asyncio.new_event_loop()
loop.create_task(worker_queue())
Если я так делаю, то функция даже не исполняется, а если добавить loop.run_forever() то на этом тред блокируется
А можно как-нибудь сделать запуск но такой чтобы он не блокировал текущий тред?

Danil
24.07.2019
09:07:12

Nanodesu
24.07.2019
09:07:44

Google

Дмитрий
24.07.2019
09:08:13

Danil
24.07.2019
09:08:38
и вообще зачем он там тебе?

Cykooz
24.07.2019
09:09:09
В примере выше я так и сделал
Вот бы ты ещё "таску" сделал асинхронной - тогда бы она не "блокировала" "основной поток". Ну и конечно же "основной поток" тоже должен быть асинхронным. Иначе путь тебе в мульти-трединг или -процессинг

И
24.07.2019
09:10:00

Danil
24.07.2019
09:10:02

Иван
24.07.2019
09:12:45
Привет!
Ребят подскажите плиз , нужно через редис организовать очередь задач, но с одним условием: необходима очередь из пачек задач
пример:
задачи приходят и ложатся в очередь когда набирается 10 шт - кидаем уведомление и отправляем эти задачи батчем
можно ли это организовать на стороне редиса? или необходимо писать логику на питоне что бы проверять сколько задач зашло в очередь???

Tishka17
24.07.2019
09:15:39
о. прикольно. у меня похожая задача на SQS

Cykooz
24.07.2019
09:16:59
Почему бы не складировать свои задачки куда-то отдельно от очереди, и как только их там станет 10 - посылать их в очередь все в виде одного сообщения

Иван
24.07.2019
09:18:00
но там еще такая тема, если проходит больше 3хсек после захода каждой из задачи - тоже отправлять независимо орт размера батча

Pavel
24.07.2019
09:20:18
ну сделай вотчдог, который смотрит в очередь и на таймер

Tishka17
24.07.2019
09:38:16

Pavel
24.07.2019
09:40:04

Tishka17
24.07.2019
09:40:15
угу

Александр
24.07.2019
09:40:30
Raft прикрути

Pavel
24.07.2019
09:41:31
это, кажется, не из этой оперы немного

Tishka17
24.07.2019
09:41:38
Raft прикрути
вот смотрю на картинку рафта. А оно будет работать когда половина воркеров упадет?

Александр
24.07.2019
09:42:01

Tishka17
24.07.2019
09:42:06
и да, у меня воркеры в разных ДЦ, между ними связи нет кроме как через очередь и БД

Google

Tishka17
24.07.2019
09:43:11
а. это просто выбор ведущего типа?

Александр
24.07.2019
09:43:24
Да
А ведущий «распределяет» задачи по воркерам
Каким образом - зависит от задачи

Tishka17
24.07.2019
09:50:12
да мне в целом не нужно синхронизировать воркеров. Просто желательно батчи иметь, а не по одной записи таскать

Cykooz
24.07.2019
09:50:51

Александр
24.07.2019
09:51:00
Либо с локами, да

Pavel
24.07.2019
09:52:15
в терминах кролика тебе мог бы помочь самописный shovel, например

Александр
24.07.2019
09:53:09
Раз там SQS, наверняка там что-то у Амазона есть для синхронизации своё

Иван
24.07.2019
09:53:27

Александр
24.07.2019
09:54:48

Iliya
24.07.2019
09:54:57
jinja сама по себе хорошо работает
Ок, спасибо понял.
А где можно глянуть примеры каких-то простых схем, чтобы там квадратики нарисовать подписать их внутри, а то что-то не нахожу.
И собирать надо как обычной код? Схемка откроется в новом окне что-то проде Matplotlib или как?

Cykooz
24.07.2019
09:55:22

Иван
24.07.2019
09:55:47

Александр
24.07.2019
09:56:19

Google

Иван
24.07.2019
09:57:08
Кем отправляться?
всмысле воркер будет загребать батч раз в 3 сек либо же когда в батче будет 10 задач)

Александр
24.07.2019
09:58:02

Иван
24.07.2019
09:58:49

Алексей
24.07.2019
09:59:46
Питон учить лучше или ноду?

Александр
24.07.2019
09:59:46

Максим
24.07.2019
10:00:31

Cykooz
24.07.2019
10:01:59

Андрей
24.07.2019
10:02:08

Forevka ÐΞV
24.07.2019
10:02:08

Dmitry
24.07.2019
10:02:58