3
我想在我的Django應用中使用模型實現隊列,因爲它是基礎。我應該能夠排隊到隊列的前面,並根據記錄的創建時間從隊列後面出列舊隊列,或者以某種方式將鏈接記錄彼此鏈接起來,以便知道哪個記錄首先排隊,然後依次排隊等等。什麼是實施這個最好的方法?如何用django模型/數據庫實現隊列?
模型中有created = models.DateTimeField()
字段並掃描記錄以查找最早的記錄並將其出列/ delete()
它是否是一個好主意?這樣你會在表演中妥協多少?或者有沒有更好的方法來鏈接隊列項目以知道他們入隊的順序?
以前也有類似的問題,但我的要求不同。我不需要像芹菜促進的任務隊列/作業隊列。
預先感謝您。
如果你想在你的模型上進行簡單的排序,你可以在模型的Meta類中添加一個像'created = models.DateTimeField(auto_now_add = True)'加上'ordering =('created',)'的字段。然後你可以使用'model.objects.first()'和'model.objects.last()'來獲得第一個和最後一個,並做你需要做的事情。根據將要使用的操作的多少,從性能的角度來看,使用Celery或其他任務隊列可能更好 - 這就是任務隊列的目的。 – ChidG