Apabila menggunakan modul berbilang pemprosesan Python 2.6 untuk proses pemijahan, pengelog peringkat modul biasanya diberikan kepada setiap proses untuk menghalang data rasuah dalam pemegang fail sys.stderr yang dikongsi. Walau bagaimanapun, memastikan bahawa semua modul bergantung juga menggunakan pendekatan pengelogan berbilang pemprosesan-sedar ini boleh menyusahkan di dalam dan di luar rangka kerja.
Penyelesaian alternatif telah dicadangkan untuk menangani isu ini:
Pengendali log tersuai telah dicipta untuk mengubah hala semua panggilan pengelogan ke proses induk menggunakan paip. Direka khusus untuk RotatingFileHandler, pendekatan ini secara berkesan mengumpulkan log daripada berbilang proses anak dan menyatukannya dalam proses induk.
Pelaksanaan melibatkan:
<code class="python">from logging.handlers import RotatingFileHandler import multiprocessing, threading, logging, sys, traceback class MultiProcessingLog(logging.Handler): # ... Implementation as per above ...</code>
Pengendali log tersuai ini memanfaatkan baris gilir untuk bersamaan dan pemulihan ralat, memastikan pengelogan boleh dipercayai merentas proses.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pembalakan Boleh Dipercayai dalam Python Multiprocessing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!