От многопоточных вычислений переходим к распределённым. То есть вычисления, происходящие на нескольких компьютерах.
Конечно, в зависимости от задачи, вы можете взять готовые решения вроде CGRU или Deadline для рендеринга, charm4py или Dask для ML, или замутить что-то на AWS С2. Но хотелось бы чего-то попроще, попитоничней что ли)
А ведь в Python есть средства "из коробки" для синхронизации нескольких процессов на разных хостах.
Вот простой пример кода, который синхронизирует работу двух процессов на разных компьютерах.
В этом случае используется процесс-посредник, который является синхронизирующим сервером.
В примере создаётся некий Manager, который шарит общую для клиентов очередь. Все подключившиеся могут что-то в неё писать или забирать.
В моём коде один процесс что-то "считает" и складывает в очередь, другой забирает и продолжает какие-то свои "расчёты".
Если у вас есть несколько машин, то можете попробовать это запустить по сети (нужно заменить 'localhost' на IP-адрес сервера). Но и на локальной машине сработает.
Gist 🌎
#libs#source#tricks
#vps#YxVM
vps商家:YxVM群组
抽奖地址:
【闪抽】YXVM 新加坡4837 三网优化 带宽扩容限时活动 109台1年免费使用权
🎁109台机器,年付使用权
活动机型配置
Singapore Hybrid Beta Basic
768MB RAM
1 VCPU
5GB DISK
384G ( SUM (IN+OUT) )
10Gbps Port
Basic DDoS Protection
Traffic to China Mainland will be shared with a dedicated 500Mbps Port.
⚠️参与抽奖的论坛账号需达到2级
开始时间:2025年03月27日20:30
结束时间:2025年03月27日20:35