带有MongoDB result后端和Neo4j storag的芹菜

2024-04-27 05:13:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些Celery工作人员将结果存储在MongoDB后端。这看起来效果很好。但是,我还需要在Neo4J图形数据库中存储唯一的taskind(以及其他一些任务结果元数据)。在

我的主要目标是在Neo4J中引用任务结果,而不会让成千上万的结果杂乱无章。因此,Neo4J为任务结果提供了可视化能力。在

我需要一些关于用芹菜来达到这个目的的最佳方法的建议。在

以下是我一直在考虑的一些选项:

  1. 使用Celery的子任务,创建单独的任务,这些任务由不同的工人处理,将数据发送给Neo4J
  2. 使用Celery的HTTP回调任务(Webhooks)将数据直接发布到Neo4J的RESTAPI
  3. 扩展主要任务以包括对Neo4J的restapi的调用

Tags: 数据方法目的数据库图形目标可视化mongodb
1条回答
网友
1楼 · 发布于 2024-04-27 05:13:47

将对Neo4J的调用作为一个子任务进行排队可以改善granularity of tasks,并在一致性方面进行权衡(Neo4J中的数据将赶上MongoDB中的数据)。在

您可以子类celery.Task并重写celery.Task.after_return,以便将task_id保存到Neo4J。注意,retval可能是一个未捕获的异常。在

相关问题 更多 >