我希望在不同网络上的两台计算机上使用并行代码来执行一批任务,但不确定如何在 Python 中执行此操作。
假设我在两个不同的网络上有两台计算机,计算机 A 和计算机 B,我有一批 100 个任务要完成。天真地,我可以分配计算机 A 和计算机 B 各自执行 50 个任务,但如果计算机 A 在计算机 B 之前完成它的任务,我希望计算机 A 承担计算机 B 的一些剩余任务。两台计算机都应将其任务的结果返回到我的本地计算机。如何才能做到这一点?
我希望在不同网络上的两台计算机上使用并行代码来执行一批任务,但不确定如何在 Python 中执行此操作。
假设我在两个不同的网络上有两台计算机,计算机 A 和计算机 B,我有一批 100 个任务要完成。天真地,我可以分配计算机 A 和计算机 B 各自执行 50 个任务,但如果计算机 A 在计算机 B 之前完成它的任务,我希望计算机 A 承担计算机 B 的一些剩余任务。两台计算机都应将其任务的结果返回到我的本地计算机。如何才能做到这一点?
if Computer A finishes its tasks before Computer B, I would like Computer A to take on some of Computer B’s remaining tasks
幸运的是,python 有一个优秀的库“Celery”,它可以让你完全实现你想要的。它是一个文档丰富的库,拥有庞大而多样化的用户和贡献者社区。您只需要设置一个代理(或队列)并配置 celery。
Celery 中有很多功能可以根据您的要求使用 - 监控/调度作业/Celery 画布等等。
https://docs.celeryproject.org/en/stable/getting-started/introduction.html https://medium.com/swlh/python-developers-celery-is-a-must-learn-technology-heres-how -to-get-started-578f5d63fab3