
Roman
20.05.2019
01:58:48
Вообще пайтон не знаю(

Арип
20.05.2019
01:58:49
ааа. ясно))
только php))

Roman
20.05.2019
01:59:17
Пффф

Google

Roman
20.05.2019
01:59:25
Мне срать на язык

Nikki
20.05.2019
01:59:28
SqlAlchemy

Арип
20.05.2019
01:59:34

?? Eugene
20.05.2019
01:59:47
Так это, sqlalchemy, pony, peewee
Orm

Roman
20.05.2019
02:00:04
https://bitbucket.org/69pRomens/srv-fullstack
Сделай такой код на другом языке

Арип
20.05.2019
02:00:20
для python

Roman
20.05.2019
02:00:28
И я преобщусь
Дело во фреймворке, а не в языке

?? Eugene
20.05.2019
02:01:06

Арип
20.05.2019
02:01:32

Google


МишанЯ
20.05.2019
04:34:49
Привет, ребят. У меня такая ситуация. Работаю с апи вконтакте прямыми запросами requests. Отслеживаю сообщения в адрес сообщества, обрабатывают их. По началу как делал, жду сообщений, получил, обработал, снова лонгполл. Бот должен держать поток человек хотябы в 50 рыл. Но такая конструкция ждала смс, обрабатывалась, снова ждала...Решил использовать threading . Так же лонгполл ожидал смс, как только получаю, то ставлю на поток его обработку, а сам заново лонгполл. Но люди пишут, сколько смс, столько и потоков их обрабатывают. Мой комп да, а вот vps то одноядерный. И да, такая конструкция иногда теряет сообщения. Я к вам за советом, как мне лучше решить мою задачу? Чтобы не упускать лонгполл запрос на новые поступления сообщения и обрабатывать их независимо от этого.
Я уже подумал сразу запускать лонгполл и поток обработки сообщений, который будет доставать из массива какого нибудь response ответ от лонгполл и обрабатывать его. А сам запрос лонгполл будет класть туда свои ответы и заново делать запрос.


?? Eugene
20.05.2019
04:40:18
А чего либу не возьмешь?

Сергей
20.05.2019
04:40:24
Привет, ребят. У меня такая ситуация. Работаю с апи вконтакте прямыми запросами requests. Отслеживаю сообщения в адрес сообщества, обрабатывают их. По началу как делал, жду сообщений, получил, обработал, снова лонгполл. Бот должен держать поток человек хотябы в 50 рыл. Но такая конструкция ждала смс, обрабатывалась, снова ждала...Решил использовать threading . Так же лонгполл ожидал смс, как только получаю, то ставлю на поток его обработку, а сам заново лонгполл. Но люди пишут, сколько смс, столько и потоков их обрабатывают. Мой комп да, а вот vps то одноядерный. И да, такая конструкция иногда теряет сообщения. Я к вам за советом, как мне лучше решить мою задачу? Чтобы не упускать лонгполл запрос на новые поступления сообщения и обрабатывать их независимо от этого.
В случае threads нет разницы, одно ядро или нет, потому что треды всё равно выполняются в рамках 1 ядра.


МишанЯ
20.05.2019
04:41:00
Т.о. будет только 1 поток паралецно работать. Но я не знаю. В парал не очень силён вообще. Только threafing и знаю как запускать поток...все

Сергей
20.05.2019
04:41:44
да, но в этом ничего страшного, ибо основная миссия потоков в твоем случае - ждать.

МишанЯ
20.05.2019
04:41:46

?? Eugene
20.05.2019
04:42:15
Если с телегой работаешь - то aiogram асинхронный

МишанЯ
20.05.2019
04:43:07
А я дмаю что не асинхронно а последовательно. И наврятли она может отправлять сообщения сразу несколькольким людям...

?? Eugene
20.05.2019
04:43:11
А, вконтакте

Сергей
20.05.2019
04:43:57
50 человек легко треды выдержат. Если будет увеличение, стоит смотреть в сторону асинхронности

МишанЯ
20.05.2019
04:44:26

?? Eugene
20.05.2019
04:44:33
Ну в общем, ты можешь принимать одним потоком сообщения и складывать их в очередь, из которой эти сообщения будет доставать какой-нибудь пул потоков и обрабатывать

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
20.05.2019
04:44:34

МишанЯ
20.05.2019
04:45:48

?? Eugene
20.05.2019
04:45:59
Не список, queue
Или deque

Сергей
20.05.2019
04:46:46
Ждать не долго. Не очень хорошо, если пропущу обновление.
то, что в один момент времени работает только один поток - не означает, что пока он не закончится, другой поток не начнет выполняться. Там псевдопараллельность - быстрое переключение между потоками. Для сетевых задержек вполне хватит скорости (с запасом), если мы говорим о сотнях соединений

МишанЯ
20.05.2019
04:47:13

Google

Nikki
20.05.2019
04:47:24
Для ВК есть асинк
Либа

Сергей
20.05.2019
04:47:27

?? Eugene
20.05.2019
04:47:38

МишанЯ
20.05.2019
04:47:56

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
20.05.2019
04:51:27

?? Eugene
20.05.2019
04:52:16

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
20.05.2019
04:52:27

МишанЯ
20.05.2019
04:53:29
А если без либ? С requestom как то привычнее работать, а это либу заново изучать

Nikki
20.05.2019
05:01:47
Вроде как
Самая быстрая по идее

Tishka17
20.05.2019
05:03:35

Сергей
20.05.2019
05:04:38

МишанЯ
20.05.2019
05:12:24
Либы это либы...это заново код переписывать, заново в либу вникать и изучать. Зачем это? Когда есть код с requests и его надо доработать. Значит судя из сказанного, продолжать использовать threading. Но не создавать новый поток каждый раз, а пусть один поток крутится и обрабатывает очередь, которую заполняет лонгполл? Что там в качестве очереди юзать лучше?

?? Eugene
20.05.2019
05:17:42
Очередь queue.Queue или collections.deque


Сергей
20.05.2019
05:20:10
Насчет либ согласен, что ты становишься зависимым от ее создателя. Изменился api в контакте, а чувак забросил либу и придется разбираться с чужим кодом, либо переписывать на другую либу, либо делать свою. Словом, любое решение несет какие то риски. Но вот вникать и изучать что-то новое - это очень нужно и правильно. Для закрепления полученных знаний иногда полезно свой проект переписать с их учетом (помогает лучше понять нюансы). Хорошо как раз попробовать разобраться с асинхронным программированием, написав проект с использованием этого направления (например, после того, как получишь рабочий вариант с помощью тредов).

МишанЯ
20.05.2019
05:21:36
Переписывать по любому буду, но надо сделать сейчас скелет работающий, а уже потом его улучшатт и улучшать.

Alex
20.05.2019
05:22:45

Google

МишанЯ
20.05.2019
05:23:35

Tishka17
20.05.2019
05:26:30
Я чёт упустил, а какую проблему решаем?

Alex
20.05.2019
05:27:50

Tishka17
20.05.2019
05:28:26
Нет.
Пакета thread больше не существует.
И не не с лучшей стороны их характеризует

Alex
20.05.2019
05:29:36

Admin
ERROR: S client not available

Nikolay
20.05.2019
05:29:50
Помянем

МишанЯ
20.05.2019
05:29:58
Какой тырпрацс? Я для себя делаю.

Nikolay
20.05.2019
05:30:15

Alex
20.05.2019
05:30:31

Tishka17
20.05.2019
05:37:21
Я для себя выработал такой план:
1. Смотрим готовую либу
2. Говорим "фу"
3. Делаем велосипед
4. Смотрим 2 готовые либы
5. Говорим фу на свой код
6. Берём и юзаем что-то готовое, но уже осознанно

?? Eugene
20.05.2019
05:38:57

Игорь
20.05.2019
05:39:47
!vote ban

Tishka17
20.05.2019
05:41:15
1хбет)
А где кнопка "пропустить рекламу"?

Alex
20.05.2019
05:45:36

Worlak
20.05.2019
05:49:16

Google

Tishka17
20.05.2019
05:49:30

iddqd
20.05.2019
05:49:30
помогите разобраться в каких случаях создавать обычную копию, а в каких глубокую...
в данный момент ситуация такая:
string = {'a': None, 'b': None, 'c': None}
for x in deepcopy(string):
if x == 'a':
del string[x]
чтобы не получить в этом коде RuntimeError я пользовался "deepcopy", но "copy" тоже всё как оказалось работает нормально хотя насколько мне ранее было известно... если меняется копия - должен менятся и оригинал, соответственно при использовании copy должна быть ошибка... или я что-то не правильно понял? разьясните плз

Worlak
20.05.2019
05:50:05

Tishka17
20.05.2019
05:50:08

iddqd
20.05.2019
05:50:51

Tishka17
20.05.2019
05:51:04

iddqd
20.05.2019
05:51:55

Tishka17
20.05.2019
05:52:02

?? Eugene
20.05.2019
05:52:22
никогда им не пользовался

iddqd
20.05.2019
05:54:03

Tishka17
20.05.2019
05:55:24
Да нет у тебя иерархии, какую ты разницу хотел увидеть?

iddqd
20.05.2019
05:56:01

?? Eugene
20.05.2019
05:56:07
deepcopy копирует рекурсивно, а copy - поверхностно

Tishka17
20.05.2019
05:56:30
{"a":{"b":[1,2,3]}}

Сергей
20.05.2019
05:57:28

iddqd
20.05.2019
06:00:02

Tishka17
20.05.2019
06:00:14
Смотря что ты считаешь разными