【发布时间】:2012-03-22 20:37:52
【问题描述】:
我想在 celery 中的工作节点之间共享少量信息(例如缓存的授权令牌、统计信息等)。
如果我在我的任务文件中创建一个全局变量,那么它对于每个工作人员都是唯一的(我的工作人员是进程,并且生命周期为 1 个任务/执行)。
最佳做法是什么? 我应该在外部(DB)保存状态,创建一个老式的共享内存(由于 celery 中不同的池实现可能很困难)?
提前致谢!
【问题讨论】:
-
像 memcached 这样的缓存,或者像 Redis 这样的键值存储呢?
-
那是一种方法,但我希望我能找到一种方法,而不需要额外的依赖。
-
它的依赖很小,但它会解决您在实现自己的进程间通信时可能遇到的一些问题。
标签: python shared-memory celeryd