我正在使用 django + celery 并且在并发方面有一些问题。
我有以下风景:
更新一个名为 Route 的对象的一个端点和一个每 5 秒运行一次的 celery 任务,该任务根据该 Route 对象数据执行一些操作。问题是,有时我的端点的操作与 celery 任务的执行非常接近,以至于对象未在数据库中更新,但导致错误解释。
我正在阅读有关原子事务的信息,但不确定如何在我的案例中实现它。
有什么建议吗? 谢谢!
如果您尝试同时更新同一个对象,您最终肯定会丢失数据或超过并发数据库连接数。如果您需要近乎实时的更新并确保对象更新不冲突,为什么不使用像 htmx 这样的包的没有队列的轮询?