问题描述
我有一个 python 脚本,每天凌晨 3 点在多个帐户上运行,并且为一个帐户运行:
- 从 FB api 获取数据
- 处理数据
- 将处理后的数据更新到FB
我使用多线程并行运行 4 个帐户:
func = partial(sub_main)
pool = ThreadPool(processes=4)
pool.map(func,output_list)
pool.close()
pool.join()
但仍然需要一个多小时,因为帐户 > 50 并且获取的数据以 MB 为单位。 我已经对代码进行了概要分析,仅读取和处理就花费了 90% 以上的时间。在此之后,我尽可能地优化了代码。
因此为了优化流程,我想有 3 个模块,比如 Reader/Processor/Updater。
意味着,一旦 Reader 完成阅读 1 个帐户,Processor 就会开始处理它。一旦Processor 处理该帐户,Updater 就会更新它。
我的问题是,这可能吗?或者我可以优化执行时间的任何其他方式,任何提示表示赞赏:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)