这个问题搞了很久,除了网上大神们说的参数后面必须加逗号之外还有队列,原来redis对象也不能写在init初始化方法里面,不知道什么原因,写在外面,进程池ok,任务开始执行。还望解惑,谢谢
redis_conn_1 = RedisUtil(db=1) # redis对象放在init方法里面,进程池不执行,不知道原因,所以写在了这里 class StartDisguise(object): def __init__(self): self.cc = ChaosCombination() def wait_disguise(self): pool = Pool(MAX_PROCESS_NUM) while True: time.sleep(random.randint(1, 3)) print('有任务吗,来看看') task_disguise_info = redis_conn_1.get_connection().brpop('disguise_content_queue', timeout=3) print('从redis里面取到的数据是:', task_disguise_info) if task_disguise_info: key, task_disguise_bytes = task_disguise_info task_disguise_dict = json.loads(str(task_disguise_bytes, encoding="utf-8")) user_name = task_disguise_dict.get('user_name') task_id = task_disguise_dict.get('task_id') key_word = task_disguise_dict.get('key_word') item = task_disguise_dict.get('item') pool.apply_async(self.insert_into_table_from_disguise_text, args=(item, user_name, task_id, key_word,)) def insert_into_table_from_disguise_text(self, item, user_name, task_id, key_word): print('进程2', os.getpid()) print('多进程开始处理====>>>>')