import random
import os
import time
from multiprocessing import Pool
 
 
def run(i):
    sleep_time = random.random()
    if i % 10 == 9:
        sleep_time *= 10
    print('[{}] start: {}, at: {:.2f}, will sleep: {:.2f}s'.format(os.getpid(), i, time.time(), sleep_time))
    os.system('sleep {}'.format(sleep_time))
    print('[{}] stop: {}, at: {:.2f}'.format(os.getpid(), i, time.time()))
 
 
jobs = list(range(30))
pool = Pool(10)
 
for i in jobs:
    pool.apply_async(run, (i,))
pool.close()
pool.join()