@ru_python

Страница 9081 из 9768
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
для python
Это для python

Арип
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
А либа асинхронно работает?
А напиши свою Есть же aiohttp

МишанЯ
20.05.2019
04:45:48
?? Eugene
20.05.2019
04:45:59
Не список, queue

Или deque

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

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
Aiovkapi
А она допилена?

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
Что за либа?
Async-vk-api норм

Вроде как

Самая быстрая по идее

Сергей
20.05.2019
05:04:38
Ну вообще есть ещё разные ядра
Не стал голову забивать лишней информацией

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

Сергей
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
Либы это либы...это заново код переписывать, заново в либу вникать и изучать. Зачем это? Когда есть код с requests и его надо доработать. Значит судя из сказанного, продолжать использовать threading. Но не создавать новый поток каждый раз, а пусть один поток крутится и обрабатывает очередь, которую заполняет лонгполл? Что там в качестве очереди юзать лучше?
Зачем писать то, что уже реализовано много раз в готовых инструментах людьми которые наверняка хорошо знают как лучше работать с тем или иным АПИ и какая функциональность может быть нужа разработчику? В тырпрайзе тебе никто не даст городить на каждый чих свой инструмент, когда уже есть готовые. "Заново учить?". Да. Учить заново. Это полезно. Всегда. Это прокачивает твой скилл. Смотрел бы что есть в готовых библиотеках, знал бы что использовать для очередей.

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. Берём и юзаем что-то готовое, но уже осознанно

Игорь
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
Это как так ?
Остался только threading

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
Остался только threading
Тогда все ок, думал уже от него отказались

Tishka17
20.05.2019
05:51:04
я не понимаю к чему это(
Словарь с названием "строка"

iddqd
20.05.2019
05:51:55
Словарь с названием "строка"
аа) ну тут я дурак да, извиняюсь)

?? Eugene
20.05.2019
05:52:22
Остался только threading
Его вроде просто переименовали в _thread

никогда им не пользовался

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
Да нет у тебя иерархии, какую ты разницу хотел увидеть?
я правильно понимаю, что результаты copy и deepcopy данного словаря должны быть разные? {"a":{"b":[1,2,3]}}

Страница 9081 из 9768