homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Cezary.Wagner
Recipients Cezary.Wagner
Date 2015年02月24日.13:27:53
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1424784474.12.0.228863603483.issue23510@psf.upfronthosting.co.za>
In-reply-to
Content
'with' code with manager will not work:
AttributeError: 'SyncManager' object has no attribute 'shutdown'
Test code:
# coding=utf-8
import multiprocessing
import multiprocessing.managers
import logging
def callback(result):
 print multiprocessing.current_process().name, 'callback', result
def worker(io_lock, value):
 # error
 raise RuntimeError()
 result = value + 1
 with io_lock:
 print multiprocessing.current_process().name, value, result
 return result
def main():
 manager = multiprocessing.managers.SyncManager()
 with manager:
 io_lock = manager.Lock()
 pool = multiprocessing.Pool(multiprocessing.cpu_count())
 for i in range(10):
 print pool.apply_async(worker, args=(io_lock, i), callback = callback)
 pool.close()
 pool.join()
if __name__ == '__main__':
 logging.basicConfig(level = logging.DEBUG)
 main()
See this code from multiprocessing.managers.SyncManager:
class SyncManager(BaseManager):
 pass
And now see 'with' methods in Basemanager:
 def __enter__(self):
 return self
 def __exit__(self, exc_type, exc_val, exc_tb):
 self.shutdown()
History
Date User Action Args
2015年02月24日 13:27:54Cezary.Wagnersetrecipients: + Cezary.Wagner
2015年02月24日 13:27:54Cezary.Wagnersetmessageid: <1424784474.12.0.228863603483.issue23510@psf.upfronthosting.co.za>
2015年02月24日 13:27:54Cezary.Wagnerlinkissue23510 messages
2015年02月24日 13:27:53Cezary.Wagnercreate

AltStyle によって変換されたページ (->オリジナル) /