Pull to refresh
8
0
Гусаков Дмитрий @dgusakov

DevOps Engineer

Send message
Интересный вариант. Описанная поделка делалась больше года назад. Главной задачей было быстро получить небольшую утилитку. Amqpstorm мне тогда не попался.
В предложенном варианте по сути просто вынос обработчика process_message. Можно сделать и так. Но профит не очевиден)
Вариант с print не выводил вообще ничего. Остановимся на:
sys.stdout.write(f'[{rmq_tools.time_now()}] - {all_cnt} of {lim} messages consumed.\r')
Тут есть заморочка с тем, что обработчик
def on_message(channel, method_frame, header_frame, body):

вызывается из встроенного в pika метода. Набор входных параметров такого метода фиксирован требованиями pika.
print('[{}] — {} of {} message consumed'.format(rmq_tools.time_now(), all_cnt, lim), end='\r')

Так лучше?)
почему не print?

Когда задался вопросом перезаписи строки в консоли нашел такое решение.
Действительно можно заменить на
print '[{}] — {} of {} message consumed /r'.format(rmq_tools.time_now(),str(all_cnt),str(lim)),

хотя запятая в конце режет глаз
worldmind Спасибо за замечания и советы. Постараюсь причесать все это безобразие)
Занятная библиотека. На момент реализации не слышал о такой.
В целом можно переехать на нее, так как все равно нужно подтягивать pika

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Works in
Registered
Activity