【发布时间】:2017-10-01 16:10:09
【问题描述】:
我创建了一个带有多处理池的进程池。我有很多任务要处理,但要获得任务的qps并不容易。所以我想获取池的活动进程号,以便我可以设置适当的池大小。这是整个代码:
import time
from multiprocessing import Pool
def do_work(msg):
# do some work
if __name__ == '__main__':
consumer = KafkaConsumer(
group_id=worker_config.kafka_group_id,
bootstrap_servers=kafka_url,
auto_offset_reset=worker_config.kafka_reset,
enable_auto_commit=True)
consumer.subscribe(topics=worker_config.kafka_topics)
for message in consumer:
logging.info('topic=%s, partition=%d, msg=%s' % (message.topic, message.partition, msg))
pool.apply_async(do_work, (message,))
process_count = number_of_active_process_of_pool
logging.info("number_of_active_process_number is %d", process_count)
pool.close()
pool.join()
【问题讨论】:
标签: python multiprocessing pool