2024-05-29 11:38:32 发布
网友
我想在celery中在我的工作节点之间共享一些信息(例如缓存的授权令牌、统计信息等等)。在
如果我在我的任务文件中创建一个全局,它对每个worker是唯一的(我的workers是进程,其生命周期为1个任务/执行)。在
最佳实践是什么? 我是否应该在外部保存状态(DB),创建一个老式的共享内存(由于celery中不同的池实现,可能会很困难)?在
提前谢谢!在
我终于找到了一个不错的解决方案——核心python多处理管理器:
from multiprocessing import Manager manag = Manager() serviceLock = manag.Lock() serviceStatusDict = manag.dict()
这个dict可以从每个进程访问,它是同步的,但是在并发访问时必须使用锁(就像在其他共享内存实现中一样)。在
我终于找到了一个不错的解决方案——核心python多处理管理器:
这个dict可以从每个进程访问,它是同步的,但是在并发访问时必须使用锁(就像在其他共享内存实现中一样)。在
相关问题 更多 >
编程相关推荐