Tôi có một số tác vụ trong ứng dụng bị ràng buộc CPU và tôi muốn sử dụng mô-đun đa xử lý để sử dụng bộ xử lý đa lõi. Tôi thực hiện một nhiệm vụ lớn (phân tích tệp video) và tôi chia nó thành nhiều tác vụ nhỏ hơn được xếp vào hàng đợi và được thực hiện bởi các quy trình công nhân. Điều tôi muốn biết là cách báo cáo tiến trình cho quy trình chính từ các quy trình công nhân này. Ví dụ tôi cần họ gửi "Tôi đang ở 1000ms phân tích của tôi về tập tin 1". Cách tốt nhất để thực hiện báo cáo tiến độ như vậy là gì?Xử lý đa Python: báo cáo tiến trình từ các quy trình
Trả lời
Tôi muốn giới thiệu một multiprocessing.Queue: không có gì dễ dàng hơn cho các quy trình của nhân viên để đăng cập nhật của họ (có lẽ là bộ dữ liệu với các khía cạnh khác nhau của bản cập nhật tiến trình của họ) ở đó, trong khi quá trình chính chỉ chờ các thông báo như vậy và khi họ cập nhật GUI (hoặc giao diện người dùng văn bản ;-) để giữ cho người dùng đánh giá tiến độ.
Cảm ơn. Tôi nghĩ rằng đó là giải pháp đơn giản nhất. Tôi hiện đang triển khai và tôi sẽ hỏi lại nếu có sự cố. Xin lỗi nhưng tôi không thể bỏ phiếu cho bài đăng của bạn vì tôi không có đủ danh tiếng. –
@Marc, tôi tin rằng với 11 hoặc nhiều hơn (và tôi thấy bạn ở tuổi 18) bạn _can_ upvote. Nếu nó không làm việc cho bạn, bạn có thể muốn hỏi về meta! –
Tôi đã không đủ ngày hôm qua. Bây giờ tôi upvoted bài viết của bạn :) –
- 1. Xử lý đa Python cho các quy trình song song
- 2. Đa xử lý Python: Nhóm các quy trình tùy chỉnh
- 3. Mẫu thiết kế để báo cáo/giám sát tiến trình của các quy trình dài
- 4. Báo cáo tiến trình tải lên từ node.js
- 5. Tiến trình báo cáo của BackgroundWorker từ Lớp ngoài?
- 6. Làm thế nào để chấm dứt đúng quy trình con với đa xử lý trong python
- 7. C# Tiến trình báo cáo nền tảng cho 2 thanh tiến trình?
- 8. Đa xử lý Python: làm cách nào để giới hạn số lượng quy trình chờ?
- 9. Xử lý các báo cáo chạy dài
- 10. python đa xử lý
- 11. Đa xử lý Python: Làm cách nào để chia sẻ một dict giữa nhiều quy trình?
- 12. Thông báo tiến trình trong WCF cho các quy trình chạy dài - Cách thực hiện?
- 13. Quản lý quy trình Python
- 14. Hàng đợi đa xử lý trong Python
- 15. Tiến trình trong khi điền báo cáo jasper
- 16. Nhận thông báo tiến bộ từ một tiến trình con
- 17. Cách báo cáo tiến trình từ hàm PostgreSQL dài hạn tới ứng dụng khách
- 18. Nhận quy trình đang chạy xử lý được xử lý
- 19. Python đa lập trình
- 20. Lấy tên quy trình từ pid hoặc xử lý
- 21. Gỡ bỏ một tiến trình con bắt đầu bằng cách sử dụng mô-đun đa xử lý python
- 22. Trình xử lý đa xử lý và khách hàng giữa python và pypy
- 23. Không có đầu ra in từ đa xử lý con. Xử lý trừ khi chương trình gặp sự cố
- 24. Đọc không đọc được từ quy trình sử dụng tiến trình con trong Python
- 25. Quá trình đa xử lý Python so với máy ảo Python độc lập
- 26. Viết phương pháp báo cáo tiến độ
- 27. Thanh tiến trình hiển thị tại thời điểm xử lý
- 28. Lập hồ sơ đa xử lý python
- 29. Thông báo tiến trình tập lệnh VBScript
- 30. Dịch vụ báo cáo: Sử dụng quy trình làm dataSet?
Bạn có hỏi về việc sử dụng mô-đun 'đăng nhập' không? –
Không, tôi muốn báo cáo tiến độ từ các quy trình công nhân để sử dụng trong quy trình chính. Tôi sử dụng mô-đun "đa xử lý". –
Báo cáo tiến độ từ các quy trình công nhân để sử dụng trong quy trình chính có thể được thực hiện thông qua mô-đun 'đăng nhập'. Tại sao bạn nói nó không thể được thực hiện? –