【发布时间】:2010-05-10 19:47:26
【问题描述】:
我正在寻找一种使用 Django ORM 的守护进程进行异步数据处理的方法。然而,ORM 不是线程安全的。尝试从线程中检索/修改 django 对象不是线程安全的。所以我想知道实现异步的正确方法是什么?
基本上我需要完成的是获取数据库中的用户列表,查询第三方 api,然后为这些用户更新用户配置文件行。作为守护进程或后台进程。为每个用户按顺序执行此操作很容易,但完全可扩展需要很长时间。如果守护进程是通过ORM检索和更新用户,如何实现一次处理10-20个用户?我会为此使用标准的线程/队列系统,但你不能像
那样线程交互models.User.objects.get(id=foo) ...
Django 本身是一个异步处理系统,它为每个请求进行异步 ORM 调用(?),所以应该有办法做到吗?到目前为止,我还没有在文档中找到任何内容。
干杯
【问题讨论】:
标签: python django django-models django-orm