【发布时间】:2015-07-31 07:09:41
【问题描述】:
在我的 django 项目中,我正在使用 celery 运行一个定期任务,该任务将检查以 json 响应的 URL,并使用该 json 中的一些元素更新我的数据库。
由于从 URL 请求是有限的,我的任务更新整个数据库的整个过程大约需要 40 分钟,我将每 2 小时运行一次任务。
如果我查看我的 django 项目的视图,该项目也在后台异步运行任务时从数据库请求信息,我会遇到任何问题吗?
【问题讨论】:
在我的 django 项目中,我正在使用 celery 运行一个定期任务,该任务将检查以 json 响应的 URL,并使用该 json 中的一些元素更新我的数据库。
由于从 URL 请求是有限的,我的任务更新整个数据库的整个过程大约需要 40 分钟,我将每 2 小时运行一次任务。
如果我查看我的 django 项目的视图,该项目也在后台异步运行任务时从数据库请求信息,我会遇到任何问题吗?
【问题讨论】:
从您的数据库请求信息时,您正在读取您的数据库。在您的 celery 任务中,您正在将数据写入数据库。您一次只能写入一次,但读取次数不限,因为读取时数据库没有锁定权限。
【讨论】:
在将 db 与 celery 一起使用时,唯一会遇到问题的情况是当您将数据库用作 celery 的后端时,因为它会不断地轮询数据库中的任务。如果您使用普通经纪人,您应该没有问题。
【讨论】: