@ru_python

Страница 2426 из 9768
Igor
06.03.2017
14:44:09
да хуй его знает

Tony
06.03.2017
14:44:25
ахуенно, Игорь)

53r63rn4r
06.03.2017
14:44:42
from multiprocessing.dummy import Pool p = Pool(30) p.map() #1 p.map_async() #2 Чем отличаются 1 от 2?

Igor
06.03.2017
14:44:43
че те 5 центов жалко

Google
Tony
06.03.2017
14:45:02
че те 5 центов жалко
ну так они не мои

у нас акк компании

53r63rn4r
06.03.2017
14:45:14
Че те чужие 5 центов жалко?

Igor
06.03.2017
14:45:22
ггггг

https://aws.amazon.com/dynamodb/pricing/ https://aws.amazon.com/dynamodb/faqs/#What_is_a_readwrite_capacity_unit

Tony
06.03.2017
14:47:54
я это прочитал все

вопрос мой глянь

Igelko
06.03.2017
15:04:05
и потом надо тыкать палкой пул емнип

CthUlhUzzz
06.03.2017
16:03:33
@Enchantner Тут снова я)0))

Nikolay
06.03.2017
16:03:43
CthUlhUzzz
06.03.2017
16:03:47
while True блокирует петлю?

Google
CthUlhUzzz
06.03.2017
16:04:40


Мне нужно, чтобы mining_subscribe не блокировал handle_miner

Nikolay
06.03.2017
16:05:53
у тебя внутри while await, так что блокировать не должно, по идее

CthUlhUzzz
06.03.2017
16:06:07
Фигушки

Он заходит в цикл, и сервер перестает читать новые сообщения

CthUlhUzzz
06.03.2017
16:13:44
Я пытаюсь разобраться как поступать в подобных ситуациях

Ведь оно по идее и в одном лупе должно прекрасно работать

Eldar
06.03.2017
16:14:31
Ну по идее гет джоб всегда должен давать какой-то хороший ответ, чтобы убрать while

Nikolay
06.03.2017
16:14:43
Он заходит в цикл, и сервер перестает читать новые сообщения
у тебя оно виснет на уровне get_job() или на уровне from_rpc_template?

CthUlhUzzz
06.03.2017
16:15:15
Вот этот цикл все блокирует

while True: template = ZCashBlockTemplate.from_rpc_template(await self.get_job())

Eldar
06.03.2017
16:15:48
while True: template = ZCashBlockTemplate.from_rpc_template(await self.get_job())
Колян, прав что-то внутри блочит, а не while

CthUlhUzzz
06.03.2017
16:17:16
ensure_future() нужно для запуска mining_subscribe?

Или я могу просто await написать?

Nikolay
06.03.2017
16:17:56
погоди

ты хочешь несколько инстансов mining_subscribe "параллельно" запустить?

CthUlhUzzz
06.03.2017
16:18:31
Один

Но он должен работать параллельно с handle_miner

Nikolay
06.03.2017
16:19:13
тогда тебе нужен шедулер внешний, как вариант

Google
Nikolay
06.03.2017
16:19:47
засунь их оба в asyncio.ensure_future() и не пиши сразу к нему await, а дерни снаружи gather() на их оба

тогда все будет, как ты хочешь

CthUlhUzzz
06.03.2017
16:22:26
засунь их оба в asyncio.ensure_future() и не пиши сразу к нему await, а дерни снаружи gather() на их оба
Неужели это как-то красиво не решается? Прост таких кусков в коде много будет

Nikolay
06.03.2017
16:23:18
ну то есть как-то так: await asyncio.gather( asyncio.ensure_future(mining_subscribe(writer)), asyncio.ensure_future(handler_miner(reader, writer))] )

CthUlhUzzz
06.03.2017
16:25:36
Да, но первая функа должна вызываться из второй

Tony
06.03.2017
16:26:00
пацаны

вас когда-нибудь увольняли?

Nikolay
06.03.2017
16:26:44
вас когда-нибудь увольняли?
Обычно сразу в тюрьму.

Nikolay
06.03.2017
16:26:45
Да, но первая функа должна вызываться из второй
какой в этом смысл, если в обеих вечный луп?

CthUlhUzzz
06.03.2017
16:27:53
какой в этом смысл, если в обеих вечный луп?
Первая читает сообщения, и если есть нужное, вызывает функцию

Nikolay
06.03.2017
16:28:22
Первая читает сообщения, и если есть нужное, вызывает функцию
тогда зачем у тебя вечный луп в вызываемой вообще?

CthUlhUzzz
06.03.2017
16:28:36
Чтобы читать сообщения

CthUlhUzzz
06.03.2017
16:28:41
КО

Nikolay
06.03.2017
16:28:48
погоди

CthUlhUzzz
06.03.2017
16:28:48
Это сокет

Nikolay
06.03.2017
16:29:02
ты дергаешь в вечном лупе функцию, в которой другой вечный луп

мне кажется, ты озалуплен

CthUlhUzzz
06.03.2017
16:29:20
Лол

Возможно

Nikolay
06.03.2017
16:29:53
я потому и говорю - у тебя два воркера, один на чтение, один на обработку

Google
CthUlhUzzz
06.03.2017
16:29:57
Там повыше уровнем обработчики исключений

Nikolay
06.03.2017
16:30:03
так?

если да - тогда запускай их параллельно и сделай между ними очередь, например

но дергать в бесконечном лупе другой бесконечный луп - это жесть

удивительно, что проц не сжирает тут же на 100%

несмотря на асинхронность

Admin
ERROR: S client not available

CthUlhUzzz
06.03.2017
16:31:39
Бля, обожаю asyncio

Заставляет задуматься о бытие

Octo@dshacks
06.03.2017
16:32:12


Кидает что не дефайнд

Роман
06.03.2017
16:33:25
ну почему же вы шлете код скриншотами, мистер Андерсон?

Octo@dshacks
06.03.2017
16:33:34
Ну...

*разводит руками*

Ну так как-то можно получить закешированный вывод?

Роман
06.03.2017
16:34:10
а по поводу кода, а где у тебя ASF определяется?

Octo@dshacks
06.03.2017
16:34:16
43 строка

Nikolay
06.03.2017
16:34:17
либо сделать глобальной переменной, либо передать в конструктор класса

Octo@dshacks
06.03.2017
16:34:25
Ок, глобальной сделаю

Nikolay
06.03.2017
16:35:08
я только не понял, нафига у тебя там вечный цикл

Google
Octo@dshacks
06.03.2017
16:35:55
я только не понял, нафига у тебя там вечный цикл
Ну пусть кеширует пока не сдохнет

Все равно sleep(30)

Роман
06.03.2017
16:36:11
да он у тебя вроде не дойдет до while

Nikolay
06.03.2017
16:36:17
Ну пусть кеширует пока не сдохнет
там ничего не кэширует никто, ты просто тыщу раз пересоздаешь один и тот же объект

и да, сейчас скажут, что я запарил и не оригинален

но, блин, в таких задачах хорошо подходит aiohttp

Octo@dshacks
06.03.2017
16:38:01
Которая общается с другой программой

class GetHandler(BaseHTTPRequestHandler): def do_GET(self): global ASF page = '' count = 0 for bot in ASF['Bots']: count += 1 botf = ASF['Bots'][bot]["CardsFarmer"] if not botf['CurrentGamesFarming'] == []: game = botf["CurrentGamesFarming"][0] page = page + botpart % (bot, game['GameName'], game['AppID'], game[ 'HoursPlayed'], game['CardsRemaining'],botf['TimeRemaining']) else: page = page + botpart_nothing % (bot) self.send_response(200) self.end_headers() self.wfile.write(bytes(mpage % (count, infofetched, page), 'utf-8')) return if __name__ == '__main__': server = HTTPServer(('', 8000), GetHandler) print('Starting server, use <Ctrl-C> to stop') server.serve_forever() while 1: global ASF ASF = api.receiveAPI() infofetched = strftime("%b %d %Y %H:%M:%S", time()) sleep(30)

Роман
06.03.2017
16:38:18
@Enchantner Поясни, serve_forever разве не блокирует поток?

Octo@dshacks
06.03.2017
16:38:20
што я не так сделал?

Все равно кидает еррор

Nikolay
06.03.2017
16:38:31
@Enchantner Поясни, serve_forever разве не блокирует поток?
я не помню навскидку, но вроде да, должен

Octo@dshacks
06.03.2017
16:38:44
Как это обойти?

Nikolay
06.03.2017
16:39:42
што я не так сделал?
ты все не так сделал, если у тебя вызов api.receiveAPI() что-то кэширует - это плохо, не надо так делать

Octo@dshacks
06.03.2017
16:39:49
Хотя вроде надо переделать его в threaded

Роман
06.03.2017
16:40:02
Стоп, точно
тебе что нужно? получать данные от апи по таймеру?

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