
Shieldy
31.07.2019
15:15:18
Добро пожаловать, @BeelineAl!
Не забудь ознакомиться с правилами чата.
https://t.me/ru_python/802295

Mename
31.07.2019
15:15:33

Tishka17
31.07.2019
15:17:25
эм сигнал отправляется процессу

B
31.07.2019
15:17:34

Google

Tishka17
31.07.2019
15:17:39
на врем яобработки сигнала, насколько я помню, все треды останавливаются

Mename
31.07.2019
15:18:03

Tishka17
31.07.2019
15:20:17

Mename
31.07.2019
15:20:59

Shieldy
31.07.2019
15:21:06
Добро пожаловать, @test_73yvs7sb2!
Не забудь ознакомиться с правилами чата.
https://t.me/ru_python/802295

Mename
31.07.2019
15:21:14
Один/два их них это FUSE
https://github.com/fusepy/fusepy

Tishka17
31.07.2019
15:21:59
Ух
Сурово

Mename
31.07.2019
15:24:29
Посмотрим что можно сделать


B
31.07.2019
15:25:37
с промежуточным сервером, статистикой из игр, которая кидается на амазон, планшетом, который отправляет команды.
я бы ее вообще переписал, но других тасков хватает.
когда плюсовому программисту дают таск написать софт на абсолютно чуждом для тебя языке. где хотя-бы даже по синтаксису разница космическая.
В общем, картина видится такая.
Обработкой гет запросов занимается один тред.
Когда удаленные сервера не работают (порт не слушается) контрольный сервер сразу получает TCP reset, что приводит к исключению, завершению работы get_status и отдаче пустого ответа.
Когда появляется удаленный сервер, возможно он отвечает на запрос контрольного сервера довольно долго (какое там тело ответа кстати?), в результате исполнение блокируется.
GIL при этом отпустится, но процессор будет занят интерпретатором питона, так думаю. Соответственно в профайлере должно на первом месте быть ожидание ввода -вывода или чтение из сокета.
Долгие синхронные запросы + один поток = наблюдаемая ситуация.

Google

B
31.07.2019
15:29:07

Ананас
31.07.2019
15:29:26
тела ответа нет, он смотрит только на код ответа

B
31.07.2019
15:29:56

Ананас
31.07.2019
15:30:13
нет, 5-10 мсек
хм, я вот сейчас думаю. я убрал постоянное получение списка активных пк, но при этом загрузка осталась

Alex
31.07.2019
15:33:19
Как ни странно, мой запрос почему-то ничего не возвращает...
mydbc.execute("Select * from user where id=%s",(int(id1),))
check_val=0
"""check for show message start ot show main menu/// if =1 than show all message, else 0 show menu"""
for row in mydbc.fetchall():
print(row[0])

Ананас
31.07.2019
15:33:50

Alex
31.07.2019
15:34:49
отдельные подпроцессы
наследники остались

Маришка
31.07.2019
15:35:21
Опять люди путают теплое с маслом

Alex
31.07.2019
15:35:26
а ты файлы закрыл? может в этом проблема

Маришка
31.07.2019
15:35:46
Жсон и строковое представление словаря не одно и тоже. Из мелочей

Tishka17
31.07.2019
15:40:43

B
31.07.2019
15:40:55
Тут четыре процесса интерпретатора питона, уверены что процессор потребляет именно код сервера?
В принципе, если другого кода немного, можно перенести как есть на flask.
Изменится только код main и код эндпоинта.
У flask более очевидные способы задать мультитрединг и т.д.

Tishka17
31.07.2019
15:41:10
на питоне?

Alex
31.07.2019
15:41:12

Tishka17
31.07.2019
15:41:25

Google

Timur
31.07.2019
15:41:29
на питоне?
Там про общие концепции. Можно и на питоне :)

Tishka17
31.07.2019
15:41:31
можешь посчитать сколько вывел
а вообще с курсоре есть число найденных записей
лол "как вы уже видите, разработка игр не настолько простая как казалась на первый взгляд"
омг

Alex
31.07.2019
15:44:01
sok=mydbc.fetchall()
ну смотри
я в sok получаю что-либо?
нашел пример
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb
db= MySQLdb.connect("hostname", "username", "password", "database_name")
cursor= db.cursor()
number_of_rows= cursor.execute("SELECT * FROM Table_name) # enter the table name

Tishka17
31.07.2019
15:45:38

Alex
31.07.2019
15:47:16
mydbc.execute("Select * from user where `id`=%s",(int(id1),))
check_val=0
sok=mydbc.fetchall()
"""check for show message start ot show main menu/// if =1 than show all message, else 0 show menu"""
if sok is None:
check_val=1
ну получается что сок вообще пустой
или тип того
он не нон

Tishka17
31.07.2019
15:48:17
да не None будет
пустой спислк

Alex
31.07.2019
15:48:26
empty
юзать?

Google

Tishka17
31.07.2019
15:49:13
ты в курсе что такое пустой список?

Alex
31.07.2019
15:49:20
сработало
спс.)
if sok not:
не подумал что он может возвращать список, думал должен выбрасывать ошибку если не то
)
*пустой

Tishka17
31.07.2019
15:53:38
ну почему же. "найдено 0 записей" ничем особо не отличаеся от "найдено 1000 зписей"
а вот "не смог выполнить запрос" - это уже другое

Alex
31.07.2019
15:55:53
commit() что дает этот метод?

Sasha
31.07.2019
15:56:19
Коммитит)

Alex
31.07.2019
15:56:30
для бд

Nick
31.07.2019
15:56:30

Sasha
31.07.2019
15:57:11
Почитайте про транзакции в бд, это в целом общие знания, которые будут полезны новичку

Alex
31.07.2019
15:59:17
Я ранее работал с бд, теперь смотрю как это реализовано с питоном

Shieldy
31.07.2019
16:00:27
Добро пожаловать, @aka_alexey!
Не забудь ознакомиться с правилами чата.
https://t.me/ru_python/802295

Tishka17
31.07.2019
16:07:15
Есть тут датасаентологи? Как мне за минимум кода кластеризовать массив 240-размерных векторов?

Андрей
31.07.2019
16:08:22
0о

Tishka17
31.07.2019
16:08:48
да, хочется взять готовый алгоритм и посомтреть что выыйдет

Дмитрий
31.07.2019
16:11:39

Google

Дмитрий
31.07.2019
16:11:42
ну условно

Tishka17
31.07.2019
16:11:44
угу
а как оценивать результат?
scikit уже нагуглил

Дмитрий
31.07.2019
16:12:18
можно считать всякие метрики кластерные, типа плотности
они тоже гуглятся

Tishka17
31.07.2019
16:12:44
ну меня скорее интересует что кластеры не очень соприкасаются
ну короче, что это реально кластеры, а просто порезали круг пополам

Дмитрий
31.07.2019
16:13:32
ну тогда посчитай расстояние (среднее\максимальное) от центра каждого кластера до его вершин и сравни с попарным расстоянием между центрами хз
я на коленке так оценивал
его вершины - вектора в него попавшие

Tishka17
31.07.2019
16:14:35
это ж думать надо =D

B
31.07.2019
16:18:09
это ж думать надо =D
Центр кластера = сумма всех векторов, разделенная на количество векторов в кластере. Сумма и деление в соответствии с операциями векторного пространства.
Хотя должен быть соотв. метод встроенный.
Дальше k^2/2 расстояний между кластерами, для каждого кластера максимальный/минимальный радиус. И сравнить.

Tishka17
31.07.2019
16:18:22
ну расстояние посчитат ьне проблема