
Aragaer
18.03.2019
11:09:06
тогда в следующий раз, когда будешь это делать (и тоже setsockopt), все отработает нормально

IDK
18.03.2019
11:09:37
Я менял порт, все одинаково

Tishka17
18.03.2019
11:10:13
ты там старые копии процесса вообще завершаешь?

Alex
18.03.2019
11:10:36

Google

IDK
18.03.2019
11:10:44

Aragaer
18.03.2019
11:10:48
нет, reuseport
https://gist.github.com/aragaer/c63746486da6be0b13de808bf1f65227

Tishka17
18.03.2019
11:11:03

Aragaer
18.03.2019
11:11:05
вот пример на си, как раз я с этим разбирался

IDK
18.03.2019
11:11:13

Aragaer
18.03.2019
11:11:33
подождать надо после этого несколько минут, пока он высвободит ресурсы этого сокета

any
18.03.2019
11:11:43
Ребзя, как обратиться к переменной parent класса из child класса? Чё-то туплю

Aragaer
18.03.2019
11:11:46
reuseport позволяет переиспользовать

Tishka17
18.03.2019
11:12:52

any
18.03.2019
11:14:16
sefl.field
А если переменная находится в коснструкторе?

Alex
18.03.2019
11:14:36
вот пример на си, как раз я с этим разбирался
хуево ты разобрался. если коротко SO_REUSEADDR позволяет тебе сделать бинд на сокет, порт до истечения Linger time, в котором сокет будет находиться после закрытия.
SO_REUSEPORT позволяет повесить несколько сокетов на один и тот же порт, обычно для LB на уровне ядра.

Tishka17
18.03.2019
11:14:50

Google

Alex
18.03.2019
11:14:53
Более подробно человеческим языком это разобрано здесь
https://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t

Tishka17
18.03.2019
11:14:55

Dan
18.03.2019
11:15:29

any
18.03.2019
11:16:20
class new:
def init(self):
a = 1
class new2(new):
def init(self):
Как отсюда обратиться к a?

Aragaer
18.03.2019
11:16:51
мхм...

Denis
18.03.2019
11:17:02
Никак.

Aragaer
18.03.2019
11:17:07
ну ок, тогда я не знаю, почему у меня с SO_REUSEADDR оно не работает
то есть я понимаю, почему оно работает с SO_REUSEPORT, но почему не работает с SO_REUSEADDR?

Alex
18.03.2019
11:18:49
это уже другой вопрос. если покажешь что именно не работает я попробую тебе на него ответить

Санжар
18.03.2019
11:20:40
Всем привет, необходимо освоить Numpy, посоветуйте литературу или ресурс чтобы набить руку

HTMLMad
18.03.2019
11:21:00
Посоветуйте норм видеокурс по Пайтон? Не степик

Aragaer
18.03.2019
11:21:02
вот если взять тот код на си по ссылке, поменять в нем reuseport на reuseaddr, то, насколько я помню, оно не работает

Tishka17
18.03.2019
11:22:03

Aragaer
18.03.2019
11:22:05
хм, работает

Tishka17
18.03.2019
11:22:36

Dk
18.03.2019
11:22:38
ну?
Нельзя просто взять и посмотреть
Я вот что скажу

Tishka17
18.03.2019
11:22:52
эту абракадабру как-то же увидел

Dk
18.03.2019
11:23:00
Я логи смотрю прям в терминале

Tishka17
18.03.2019
11:23:01
покажи код хэндлера

Google

Tishka17
18.03.2019
11:23:08
и код логгера

any
18.03.2019
11:23:19

Tishka17
18.03.2019
11:23:35

Aragaer
18.03.2019
11:23:39
не делать так

Dk
18.03.2019
11:23:49
Я вот что скажу
Я когда это скопировал и отправил в чат ТП, то оно само сконвертировалось правильно.

Tishka17
18.03.2019
11:23:58
стоп
консоль какая?

Alex
18.03.2019
11:24:06
хм, работает
чтобы SO_REUSEADDR работал если я правильно помню необходимо чтобы сокет в состоянии TIME_WAIT был тоже создан с этим флагом.

Tishka17
18.03.2019
11:24:19
вангую консоль так показывает

Alex
18.03.2019
11:24:24
Возможно поэтому после предыдущего теста у тебя возникла эта проблема.

Aragaer
18.03.2019
11:24:28
ну да, надо до первого бинда его сделать, чтобы второй отработал

Tishka17
18.03.2019
11:24:30
а на самом деле небось нормальный текст

Dk
18.03.2019
11:24:34

any
18.03.2019
11:24:34

Aragaer
18.03.2019
11:24:37
ну с reuseport та же ботва

Dk
18.03.2019
11:24:55

Aragaer
18.03.2019
11:25:12
крч у нас просто на работе в проекте есть reuseaddr, вроде корректно стоит, но результат чот остается прежним - отказывается биндить. Надо еще раз внимательно посмотреть

Tishka17
18.03.2019
11:25:24

Dk
18.03.2019
11:25:29
Нет

Tishka17
18.03.2019
11:25:33
а, вижу

Google

Tishka17
18.03.2019
11:25:35
хм
а вот это откуда скрин?

Alex
18.03.2019
11:26:13

Dk
18.03.2019
11:26:16
Из пайчарм

Tishka17
18.03.2019
11:26:38
эм

Aragaer
18.03.2019
11:26:42
ну ... на самом деле не так уж недавно

Alex
18.03.2019
11:27:01
в 2013 году, с 3.9

Aragaer
18.03.2019
11:27:01
у нас 3.10.20 и в нем должно бы быть, но соответствующий код закомменчен по какой-то причине

Tishka17
18.03.2019
11:27:02
Из пайчарм
тогда в чем проблема вывести реквест если у тебя интерактивны режим?

Владимир
18.03.2019
11:27:11

Tishka17
18.03.2019
11:27:18

Dk
18.03.2019
11:27:41

Tishka17
18.03.2019
11:28:11
вангую проблемы из-за сотен копипаст
давай вывод как он на сервере пишется
и код вьюхи

Dk
18.03.2019
11:32:01
������
скачал логи на локальную машину

Google

Dk
18.03.2019
11:32:21
это из sublime

Tishka17
18.03.2019
11:33:05
и да, никто не гарантировал что при логировании ничего не портится, ко двсе ещё нужен

Aragaer
18.03.2019
11:33:45
The code that decides if the bind will succeed or fail only inspects the SO_REUSEADDR flag of the socket fed into the bind() call, for all other sockets inspected, this flag is not even looked at.

any
18.03.2019
11:34:14
class a:
def init(self):
n = 1
class b(a):
def init(self):
super().init()
print(a.n)
Как правильно переделать этот г-код?

Aragaer
18.03.2019
11:34:18
вот это вот вроде неверное утверждение - чтобы сработало "переоткрытие" надо чтобы и у старого, и у нового стоял флаг

Tishka17
18.03.2019
11:34:56

Aragaer
18.03.2019
11:35:19
class a:
def __init__(self):
self.n = 1
class b(a):
def __init__(self):
super().__init__()
print(self.n)

Alex
18.03.2019
11:35:37
кажется ты прав.

Tishka17
18.03.2019
11:37:08
это все, 5 символов? ты обрезал лог что ли где-то?