ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

15_python:04_parallel

文書の過去の版を表示しています。


04 Python 並列処理

<code>
from concurrent.futures import ThreadPoolExecutor
from logging import StreamHandler, Formatter, INFO, getLogger

def init_logger():

  handler = StreamHandler()
  handler.setLevel(INFO)
  handler.setFormatter(Formatter("[%(asctime)s] [%(threadName)s] %(message)s"))
  logger = getLogger()
  logger.addHandler(handler)
  logger.setLevel(INFO)
  

def task(v):

  getLogger().info("%s start", v)
  time.sleep(1.0)

def main():

  global host
  db_host = '10.110.0.20'
  hosts = get_host(db_host)
  #print(hosts)
  init_logger()
  getLogger().info("main start")
  with ThreadPoolExecutor(max_workers=10, thread_name_prefix="thread") as executor:
      host = np.array_split(hosts,10)
      for i in range(10):
          executor.submit(task2,i)
      #for i in range(5):
      #    executor.submit(task, i)
      getLogger().info("submit end")
  getLogger().info("main end")

if name == “main”:

  main()

<code>

15_python/04_parallel.1565316672.txt.gz · 最終更新: 2019/08/09 11:11 by matsui