
Tishka17
11.07.2019
05:47:54
Выглядит как какой-то костыль странный

Bogdan (SirEdvin)
11.07.2019
05:50:19

elessar
11.07.2019
05:53:39

Google

Tishka17
11.07.2019
05:54:14

elessar
11.07.2019
05:55:27
1. надо через питон делать разархивирование... т.к. 7z все форматы поддерживает...
2. я хочу на три части разбить
по этим линиям
первый из двух состоит, а второй из 10

Tishka17
11.07.2019
05:59:30
Ну разбивай
Зачем заменять-то?

elessar
11.07.2019
06:00:05
неа)
вот пишем в некотором смысле

ㅤVlad Tikhonov
11.07.2019
06:41:23
чем можно сравнить строки с версией чего либо, что бы if выдал true если 5.6.3<5.7
есть такое.. from packaging import version
но не устанавливается пакет version

fn main() {}
11.07.2019
06:42:28
переведи в целое число, аля 563 и 570

Google

Artem
11.07.2019
06:43:55

ㅤVlad Tikhonov
11.07.2019
06:44:47
Спасибо!
не додумался..
данный пакет использовался в коде до меня

Lexa
11.07.2019
06:56:51

Cykooz
11.07.2019
06:57:27
А ещё есть всякие alpha и beta релизы

Lexa
11.07.2019
06:57:53
How do I compare version numbers in Python? - Stack Overflow
https://stackoverflow.com/questions/11887762/how-do-i-compare-version-numbers-in-python
лучше всего юзать packaging

Tishka17
11.07.2019
06:58:44
Он тоже не всегда работает
За пределами питона другие традиции именования версий бывают

Lexa
11.07.2019
06:59:53

Cykooz
11.07.2019
07:00:51
Можно вот это использовать
from distutils.version import LooseVersion
Или StrictVersion от туда же, если нужо соблюдение стандартов принятых в питоне.
>>> LooseVersion('5.6.13') > LooseVersion('5.6.3')
True

fn main() {}
11.07.2019
07:02:35

Виктор
11.07.2019
07:03:39

Artem
11.07.2019
07:07:03
tuple сравнивается поэлементно и так

Lexa
11.07.2019
07:19:07

DjigIT0s
11.07.2019
07:28:53
объясните почему если обернуть в лист выводится результат, а если обернуть в dict, то результат пустой
"""
names = ['Tom', 'Dick', 'Harry']
ages = [50, 35, 60]
z = zip(names, ages)
list(z)
>>> [('Tom', 50), ('Dick', 35), ('Harry', 60)]
dict(z)
>>> {}
""""

Aragaer
11.07.2019
07:30:54
потому что ты уже все из z вытащил

Daniil
11.07.2019
07:30:55
потому что zip возвращает генератор, ты его листом уже использовал, поэтому в дикте пусто

Google

Aragaer
11.07.2019
07:30:58
zip это генератор

Daniil
11.07.2019
07:31:48
names = ['Tom', 'Dick', 'Harry']
ages = [50, 35, 60]
z = zip(names, ages)
list(z)
>>> [('Tom', 50), ('Dick', 35), ('Harry', 60)]
dict(zip(names, ages))
так выведет норм уже

DjigIT0s
11.07.2019
07:35:23
все, понял, спасибо всем

Марк
11.07.2019
07:37:47
Никогда бы не подумал, что реализация отложенной операции может вызывать такую боль, если без оверхеда.
А оверхед - это писать демон, который в цикле будет постоянно считать время

Владимир
11.07.2019
07:41:54
Это какой-то колхоз. Почему не взять брокера и добротный фреймворк типа того же Celery. Там где одна отложенная появилась, появится еще с десяток.

Марк
11.07.2019
07:42:43
Уже взял на свою голову в виде редиски.

Tishka17
11.07.2019
07:46:04
хз зачем celery

Bogdan (SirEdvin)
11.07.2019
07:46:37
Что бы свое не писать)

Марк
11.07.2019
07:46:37
Celery, кстати, смотрел. Он там полагается строго на брокеров, а редиска не гарантирует ничего.

Дмитрий
11.07.2019
07:47:34
А почему к селери такое отношение не хорошее? В чем его проблемы?
Вроде для "воткнуть mq за 2 секунды" отличная же штука

Владимир
11.07.2019
07:48:20
хз зачем celery
Это один из вариантов. Самый распространенный. Какие твои варианты?

Марк
11.07.2019
07:48:27
Никто не говорит, что она плохая

Tishka17
11.07.2019
07:48:38

Дмитрий
11.07.2019
07:50:25

Tishka17
11.07.2019
07:51:12

Владимир
11.07.2019
07:51:59

Google

Tishka17
11.07.2019
07:52:07

Марк
11.07.2019
07:52:20

Владимир
11.07.2019
07:52:31

Tishka17
11.07.2019
07:52:53
и по нему ищет

Владимир
11.07.2019
07:53:06
А ты про это

Tishka17
11.07.2019
07:53:38
там конечно можно руками, но никто так обычно не делает

Максим
11.07.2019
07:53:55
мне вот тоже проект с селери достался по наследству, вот теперь думаю как выпилить его оттуда ?

Tishka17
11.07.2019
07:54:00
в итоге вместо продуманный структуры сообщения имеем побыстрому прикрученные таски
кто-то тут ещё на стабильность celery жаловался

Дмитрий
11.07.2019
07:55:08

Bogdan (SirEdvin)
11.07.2019
07:55:10

Владимир
11.07.2019
07:55:20
Из всего, что меня в сельдерее напрягает - это именно конфигурация

Дмитрий
11.07.2019
07:55:24
Из минусов не оч удобная дока, чтоб один момент найти пришлось два дня потратить
Но это был достаточно глубокий момент деталей реализции, который в целом врят ли нужен много кому

Tishka17
11.07.2019
07:55:40
да у меня дока так и не открывается, потому что на сайте сертификат не тот =D

Bogdan (SirEdvin)
11.07.2019
07:55:47
Например, одна из довольно странных, но часто полезных штук, это то, что сообщение будет отправлено в очередь в любом случае

Tishka17
11.07.2019
07:55:59

Bogdan (SirEdvin)
11.07.2019
07:55:59
Там тупо безконечных цикл в wait в одну секунду :)

Tishka17
11.07.2019
07:56:03
lol

Google

Bogdan (SirEdvin)
11.07.2019
07:56:19
Из-за этого, если брокер не доступен, можно ловить веселые фризы)

Марк
11.07.2019
07:56:34
Я слабо знаю селери, но меня откровенно выбешивает навязывание своей архитектуры. Либо так, либо нахуй иди. Блядь, это же просто ебаная продвинутая труба, а не хуй с яицами. Эту трубу я хочу подключить в любом месте без выебонов и боли. Но нихуя

Tishka17
11.07.2019
07:57:02

Bogdan (SirEdvin)
11.07.2019
07:57:16
Мы, собственно, так это и обнаружили, когда у нас тесты зависали на несколько часов из-за того, что кто-то не замокал задачи)

Tishka17
11.07.2019
07:57:17
так же как джанго - не wsgi

Bogdan (SirEdvin)
11.07.2019
07:57:53
например?
Очереди по умолчанию всегда durable, например

Марк
11.07.2019
07:58:11
нет, это не труба.
Если у нее на конце должен быть редис или мемкешед или прочая срань, то труба

Bogdan (SirEdvin)
11.07.2019
07:58:14
То есть прям можно работать с celery без нормального знания кролика, хотя бы на первыъ этапах
Селери в целом довольно хорошо (я бы сказал, даже слишком хорошо) заботится о гарантиях того, что задача будет таки в очереди

Tishka17
11.07.2019
07:58:58