multiprocessing
মডিউলটির ডকুমেন্টেশন দেখায় যে কীভাবে কোনও প্রক্রিয়ায় একটি সারি পাস করতে হবে multiprocessing.Process
। তবে আমি কীভাবে অ্যাসিক্রোনাস কর্মী প্রক্রিয়া শুরু করার সাথে একটি সারি ভাগ করতে পারি apply_async
? আমার গতিশীল যোগদান বা অন্য কিছু দরকার নেই, কেবল শ্রমিকদের পক্ষে (বারবার) তাদের ফলাফলগুলি বেসে ফেরত দেওয়ার একমাত্র উপায়।
import multiprocessing
def worker(name, que):
que.put("%d is done" % name)
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=3)
q = multiprocessing.Queue()
workers = pool.apply_async(worker, (33, q))
এই কর্ম বিফল হয়:
RuntimeError: Queue objects should only be shared between processes through inheritance
। আমি এর অর্থ কী তা আমি বুঝতে পেরেছি, এবং পিকিং / আনপিকলিংয়ের (এবং সমস্ত বিশেষ উইন্ডোজ বিধিনিষেধের) পরিবর্তে উত্তরাধিকারী হওয়ার পরামর্শটি আমি বুঝতে পারি understand কিন্তু কিভাবে কি আমি একটি উপায় যে কাজ কিউ পাস? আমি উদাহরণ খুঁজে পাচ্ছি না, এবং আমি বেশ কয়েকটি বিকল্প চেষ্টা করেছি যা বিভিন্ন উপায়ে ব্যর্থ হয়েছিল। অনুগ্রহ করে সাহায্য করবেন?