Edw*_*rdr 13 python concurrency multiprocessing
我目前正在学习Python(来自Java背景),我对我在Java中使用线程的问题有疑问.
我的程序将使用工作人员定期从一些Web服务中读取一些数据.每个工作人员将定期在不同时间呼叫Web服务.
根据我的阅读,最好使用该multiprocessing模块并将工作人员设置为继续执行数据收集任务的独立流程.在Java上我会做一些概念上类似的东西,但是使用线程.虽然看起来我可以在Python中使用线程,但我将失去多CPU利用率.
这是我的问题的核心:网络服务受到限制,即工人不得每秒呼叫超过x次.工人检查他们是否可以请求数据的最佳方式是什么?
我很困惑是否应该使用以下方法实现:
nmap,在进程之间共享一些数据/值,描述它们是否可以调用Web服务.Manager()对象,监视每秒的呼叫,并通知工作人员是否有权进行呼叫.当然,我想这可能归结为我如何跟踪每秒的呼叫数.我想一个选项是让工作人员在某个其他对象上调用一个函数,这会调用Web服务并记录当前的调用次数/秒.另一种选择是调用Web服务的函数在每个worker中生存,并且每次调用Web服务时都要向管理对象发送消息.
欢迎思考!
| 归档时间: |
|
| 查看次数: |
490 次 |
| 最近记录: |