日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

怎么让python一直执行_怎么才能让Python多进程不间断执行任务

發布時間:2024/1/8 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么让python一直执行_怎么才能让Python多进程不间断执行任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

任務列表儲存在mongoDB中 大概三百萬條

每個任務執行結束會標記上

現在有個問題

每次腳本開始時讀取100任務

用python多進程執行任務時 必須等待所有進程執行結束才能重新讀取下一個100條

有沒有什么辦法讓結束的進程不間斷去領取新的任務?

創建進程的片段

#!/usr/bin/python

# coding=utf-8

from urllib2 import Request, urlopen, URLError, HTTPError

from multiprocessing import Pool

import os

import sys

task_list = [] ?# 任務列表

def start_run(i, task_list):

print "進程"+str(i)+"開始"

# 處理task_list任務列表

print "進程"+str(i)+"結束"

if __name__ == '__main__':

print 'Parent process %s.' % os.getpid()

p = Pool(number_of_processes)

for i in xrange(number_of_tasks):

i += 1 ?# 從1開始

p.apply_async(start_run, args=(i,task_list))

p.close()

p.join()

print 'All subprocesses done.'

拜謝

使用Queue作為數據管道, 在run函數中讀取并處理數據;

可以考慮進程不關閉,在進程中讀取、處理數據,做循環。

使用celery消息隊列

總結

以上是生活随笔為你收集整理的怎么让python一直执行_怎么才能让Python多进程不间断执行任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。