2014-02-11 58 views
0

我对数据处理和Django的性质有一个小问题。 初学者。我有先进的dhtmlx表网页。在向表DHTMLX添加行时,会自动将POST数据发送到我的django后端,在此处理此数据并返回XML数据发送到网页。当一次添加1行时,所有的工作都很好。但是,一次添加多行时,会出现一些问题。对于初学者来说,我已经检查了发送数据到后端的顺序和它的正确性(比如说,按照顺序发送行号1,2,3,4)。问题在于后端在查询到达时处理查询,通常它们以相同的顺序到达(即使Internet的随机性)。但django立即为它们启动相同的功能,并且它是复杂的函数,需要一些时间来计算,然后发送响应。问题在于,每次调用函数时,数据库中都会发生变化,其中一个变量取决于我们正在改变的数据库表的大小。虽然具有相同的数据表以错误的顺序(不同的线程速度)改变,但结果数据是垃圾。Django队列函数调用

是否有任何自动的解决方案来排队一个叫做函数的web调用,以便每个调用都可以进入队列并等待以前的完成? 我只想为这个功能做一个这样的队列。

回答

0

看来你应该在django中建立队列。如果行需要在后端进行串行处理,则将更改数据插入到队列中并像处理事件处理程序一样处理队列。

您可以使用dhtmlx的事件处理程序和ajax回调处理程序构建发送队列,但为什么?网络已经很慢,进一步放缓是错误的做法。

+0

那么你是对的。当我更多地思考它时,有一个JavaScript是单线程和Python多线程的问题。表与后端与Internet连接的荒谬性之间的同步。对于很多工作来说,对于大量错误来说,对于在它们之间发送的大量数据,在更新之后从头开始在django中生成整个表比在xml中将其发送到前端更容易,而不是同步两者。它超级简单轻便,但它只是跳过问题而不是解决问题:/ – webster58