gpt4 book ai didi

mongodb - celery 与 mongoDB 的工作示例

转载 作者:可可西里 更新时间:2023-11-01 09:24:57 28 4
gpt4 key购买 nike

我是 celery 的新手,正在使用 Celery 运行异步任务。

  1. 我想将我的任务结果保存到 MongoDB。
  2. 我想使用 AMQP 代理。

Celery 项目示例对我帮助不大。谁能给我指出一些工作示例?

最佳答案

要使用 MongoDB 作为后端存储,您必须明确配置 Celery 以使用 MongoDB 作为后端。

http://docs.celeryproject.org/en/latest/getting-started/brokers/mongodb.html#broker-mongodb

正如您所说,文档没有显示完整的工作示例。我刚开始玩 Celery,但一直在使用 MongoDB。我使用 MongoDB 和 Celery 创建了一个简短的工作教程 http://skillachie.com/?p=953

然而,这些片段应该包含使用 Celery 和 MongoDB 构建一个 hello world 所需的一切

celery 配置.py

 from celery.schedules import crontab

CELERY_RESULT_BACKEND = "mongodb"
CELERY_MONGODB_BACKEND_SETTINGS = {
"host": "127.0.0.1",
"port": 27017,
"database": "jobs",
"taskmeta_collection": "stock_taskmeta_collection",
}

#used to schedule tasks periodically and passing optional arguments
#Can be very useful. Celery does not seem to support scheduled task but only periodic
CELERYBEAT_SCHEDULE = {
'every-minute': {
'task': 'tasks.add',
'schedule': crontab(minute='*/1'),
'args': (1,2),
},
}

任务.py

from celery import Celery
import time

#Specify mongodb host and datababse to connect to
BROKER_URL = 'mongodb://localhost:27017/jobs'

celery = Celery('EOD_TASKS',broker=BROKER_URL)

#Loads settings for Backend to store results of jobs
celery.config_from_object('celeryconfig')

@celery.task
def add(x, y):
time.sleep(30)
return x + y

关于mongodb - celery 与 mongoDB 的工作示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740755/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com