
Dmitry
29.09.2017
07:13:48
yes
executor.map(is_prime, PRIMES) - автоматически раздает числа процессам и запускает их?

Evgeniy
29.09.2017
07:14:11

in favor
29.09.2017
07:14:49

Pavel
29.09.2017
07:14:55

Google

Evgeniy
29.09.2017
07:15:34
Тогда лучше не буду.

Dmitry
29.09.2017
07:15:55

in favor
29.09.2017
07:16:15

Dmitry
29.09.2017
07:17:45
стоп. я тебя не понял, что ты имеешь ввиду?
я в пул процессов хочу отдать очередь с задачами, и пусть эти процессы слушают эту очередь, если в очередь поступает задача, луюбой из процессов из пула должен схватить ее и выполнить.

in favor
29.09.2017
07:19:31

Pavel
29.09.2017
07:20:27

in favor
29.09.2017
07:21:17

Андрей
29.09.2017
07:21:34
Всем привет. Может кто скинуть ресурс где можно попрактиковаться в решении задачек по питону. По наростающей. Ну тип подобно ресурсу Codewars

Artem
29.09.2017
07:22:11
pythontutor.ru

Dmitry
29.09.2017
07:23:14

in favor
29.09.2017
07:24:39
да, буду читать про celery
та там нечего читать, вот в принципе пример работы с celery
https://github.com/bushig/webmtube/blob/master/webmtube/tasks.py

Dmitry
29.09.2017
07:25:36
Да, это то что мне нужно спасибо!

Андрей
29.09.2017
07:28:51

Google

Dmitry
29.09.2017
07:45:41
queue_tasks = list(range(1000))
class ComplexObjectMultiProcess:
"""
Какой-то сложный объект с пулом процессоров
"""
def init(self, count_processes=5, queue_tasks=None):
self.__count_processes = count_processes
self.__queue_tasks = queue_tasks
self.__processes = Pool(self.__count_processes)
def work(self, queue_tasks):
"""
Обработка задачи из очереди
"""
res = queue_tasks.get()*2
print("Process ID: {0}, result: {1}".format(os.getpid(), res))
time.sleep(3)
def start(self):
self.__processes.map(self.work, self.__queue_tasks)
comlex = ComplexObjectMultiProcess(4, queue_tasks)
comlex.start() -> получаю ошибку: NotImplementedError: pool objects cannot be passed between processes or pickled что делаю не так?

Good
29.09.2017
07:55:36
https://py.checkio.org/station/incinerator/
Так вернее

Андрей
29.09.2017
07:59:18
да.)) спаисбо
только тяжелый ресурс.. в плане для браузера.. пока отработает все. так вся тежело перключается

dmks
29.09.2017
08:39:20
Это, у вас же основной язык плюсы получается
Ну хоть не нода и на том спасибо

Aragaer
29.09.2017
08:39:58
не указано расположение и вилка

#O62641
29.09.2017
08:47:40
Ох, только что закончил писать свою реализацию связаного списка на чистом пайтоне без сторонних библиотек. Сначала обрадовался, что все работает и решил сравнить его с обычным встроенным списком. В общем, даже в тех вещах, в каких связаный список должен обгонять обычный (вставление в середину), он уступает в 2 раза. Очень грустно.
Хей хей хей! Оказалось, что все не так печально! Я вчера сравнивал свой линкед лист с обычным встроенным списком и очень расстроился, что он даже в тех местах, где должен быть быстрее обычного списка, был медленнее в раза два.
Моя ошибка была в том, что я использовал тест с вставкой в середину ~100 элементов. Если же увеличить количество элементов до миллиона, он становится быстрее в 100 раз!

Николай
29.09.2017
08:50:15
Я щитаю раз вилка не указана, надо удалять объявление

Oleg
29.09.2017
08:53:44
щитаю )))))))))))

Artem
29.09.2017
08:54:06
Смешно, что с++ не указан

dmks
29.09.2017
08:58:51
ну типа стл, буст и кути
Сами догадаются, чай не маленькие
хз, тоже не понял этого

Evgeniy
29.09.2017
09:30:40
Парни, ещё вопрос. Если два потока в проге работают и каждый обращается к БД, с определенным интервалом, правильно ли будет объявлять connection глобально и передавать обоим потомкам? Подскажите как правильно делать?

Nikolay
29.09.2017
09:34:50

Evgeniy
29.09.2017
09:35:16
MySql библиотека pymysql

Nikolay
29.09.2017
09:35:32
в sqlalchemy, например, такой проблемы нет, потому что там engine сам раздает коннекты, когда надо, но сессия в каждом треде отдельная

Google

Nikolay
29.09.2017
09:35:58

Igelko
29.09.2017
09:38:16

Evgeniy
29.09.2017
09:40:57

Dmitry
29.09.2017
09:55:06
Коварный сокет:
# —- инициализация сокекта —-
def work(sock):
# код обработки запроса
sock.send(ДАННЫЕ)
sock.close()
executor = concurrent.futures.ProcessPoolExecutor(5)
while True:
sock, user = server.accept() #Записываем в переменные новый сокет и данные пользователя
executor.map(work, [sock])
Делаю один запрос A, но ответ не приходит. Потом отправляю еще запрос B, и тогда получаю ответ на запрос A, ответа на запрос В нет и т.д.
Почему так происходит?

Vladimir
29.09.2017
09:55:28
Добрый день, а подскажите как строку {numbers: {a:{b:1,d:[3,4]}, {c:2} } }преобразовать в словарь?

Lawliet
29.09.2017
09:56:46
import json
json.loads('{numbers: {a:{b:1,d:[3,4]}, {c:2} } }')

Maxim robox
29.09.2017
09:57:54

Bill
29.09.2017
10:02:32
оффтопну, а кто юзал telegram-cli? вопрос есть

b0g3r
29.09.2017
10:03:28
@botoid

Nikolay
29.09.2017
10:08:29
стало модно строчку с фигурными скобочками называть raw javascript object

Nikolay
29.09.2017
10:08:34
повбывав бы

Maxim robox
29.09.2017
10:09:03
Предложи лучше.

Nikolay
29.09.2017
10:10:36
к джаваскрипту это отношения не имеет никакого

Павел
29.09.2017
10:10:48
Это где стало модно?

Nikolay
29.09.2017
10:11:04

Maxim robox
29.09.2017
10:11:10

Nikolay
29.09.2017
10:11:28

Google

Павел
29.09.2017
10:11:37
ну жс же должен быть везде, даже в питоне

Nikolay
29.09.2017
10:11:44
но это ж все равно лучше, чем javascript object'ом называть строку

Admin
ERROR: S client not available

Maxim robox
29.09.2017
10:11:46

Vasiliy
29.09.2017
10:11:48
почему не имеет? валидный кусок js

Nikolay
29.09.2017
10:11:58
это просто строка с синтаксисом

Павел
29.09.2017
10:12:06

Vasiliy
29.09.2017
10:12:28
для одного примера да

Maxim robox
29.09.2017
10:12:28

Vasiliy
29.09.2017
10:12:53
а так зависит от того, откуда тебе эти данные прилетают. если это натурально кусок JS, то это натурально кусок JS

Nikolay
29.09.2017
10:12:55
это просто формат протокола
js тут ни при чем
это все равно что json называть "объекты питоновского словаря"
бред же

Vasiliy
29.09.2017
10:13:53
эээ, зависит от источника

Nikolay
29.09.2017
10:14:13

Павел
29.09.2017
10:14:18
бля вы ебанутые? Коля прав

Google

Vasiliy
29.09.2017
10:14:19
если ты это натурально из js выдираешь, там может быть что-то типа строка текста ${выражение} строка текста
строка текста ${выражение} строка текста

Nikolay
29.09.2017
10:14:30
у тебя пакеты http становятся другими от того, nginx или apache их посылает?
неважно, откуда она пришла

Vasiliy
29.09.2017
10:15:11
блин, короче, если это кусок страницы js, например, выдранный селениумом - нет гарантий, что этот литерал будет валидным питоновским словарем

Nikolay
29.09.2017
10:15:40

Maxim robox
29.09.2017
10:16:10
Исходя из имеющейся информации, она валидна для объекта JS. Может имей мы строку подлиньше, она стала бы инвалидной. Но имеем, что имеем. Так почему бы не назвать это объектом JS, если это, вероятнее всего, он и есть?

Aleksey
29.09.2017
10:16:12
всем привет

Vasiliy
29.09.2017
10:16:43
это объект js если это объект js

Nikolay
29.09.2017
10:16:46