Tôi đang chạy Django trên một máy chủ Ubuntu với nginx và gunicorn. Tôi đang cố gắng để làm một số multiprocessing đó là làm việc trên máy địa phương của tôi nhưng treo cho đến khi công nhân gunicorn lần trên máy chủ của tôi.Python đa xử lý Pool treo trên máy chủ ubuntu
cpu_count = int(multiprocessing.cpu_count())
pool = Pool(processes = cpu_count)
result = pool.map_async(apiSimulAvail, rate_ranges)
result.wait()
...do some more stuff once all processes return
Nó treo tại pool = Pool(processes = cpu_count)
. Tôi không nhận được bất kỳ lỗi nào, nhân viên gunicorn chỉ ra ngoài và khởi động lại.
Bất kỳ dấu hiệu nào về lý do tại sao điều này xảy ra và/hoặc cách tôi có thể giải quyết được đánh giá cao. Cảm ơn.
Bạn có bắt đầu bất kỳ chủ đề nào trước khi bạn bắt đầu các quy trình này không? –
Không có trong chế độ xem đó. – apardes
Ý bạn là "chế độ xem đó" là gì? Nếu một quá trình bị treo, nó có thể là do nó thừa kế trạng thái đồng bộ hóa xấu từ một bậc cha mẹ, hoặc cha mẹ hoặc ông bà ... quá trình. Cách tốt nhất, có thể duy nhất, để đảm bảo điều này không bao giờ có thể xảy ra là không bao giờ bắt đầu các quy trình sau khi bất kỳ chủ đề nào đã được bắt đầu. –