回答
取决于规模和您的需求。
你将不得不使用Django芹菜拍为周期任务: http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-custom-schedulers
我就老老实实创建将运行每次3-5分钟,芹菜任务。
models.py
class Foo(models.model):
created_at = models.DateTimeField(auto_add_now=True)
expiration_date = models.DateTimeField()
views.py
import datetime
from django.utils import timezone
def add_foo():
# Create an instance of foo with expiration date now + one day
Foo.objects.create(expiration_date=timezone.now() + datetime.timedelta(days=1))
tasks.py
from celery.schedules import crontab
from celery.task import periodic_task
from django.utils import timezone
@periodic_task(run_every=crontab(minute='*/5'))
def delete_old_foos():
# Query all the foos in our database
foos = Foo.objects.all()
# Iterate through them
for foo in foos:
# If the expiration date is bigger than now delete it
if foo.expiration_date < timezone.now():
foo.delete()
# log deletion
return "completed deleting foos at {}".format(timezone.now())
有没有其他的方法可以完成这个,w没有芹菜。只想知道选项;)或任务排队是唯一的方式 –
@manishadwani您的问题问怎么应该通过'芹菜'完成,并有'芹菜'标签。确保编辑问题,以便它也反映了这一点。其他可能的解决方案是设置一个cron作业,它可以通过bash运行'manage.py'命令,这将做同样的事情。芹菜是为像这样的用例而构建的。我建议你通过芹菜做到这一点,但如果别人有其他选择等待他们回应! :) –
感谢您的快速响应,我会看看这个 –
- 1. 做一个临时记录,24小时后自行删除?
- 2. 设置Cron作业在24小时后删除文件
- 3. 将12小时时间NSString转换为24小时NSDate对象不起作用
- 4. 查找一段24小时(未尤其是最后24小时)
- 5. 删除数组中的同一对象
- 6. 如何删除对象b,设置对象a后,但不删除对象a?
- 7. 删除自创建小时后的小时目录
- 8. 如何在每24小时后从Firebase移除数据?
- 9. 对象分配删除一些属性然后创建新的对象
- 10. 如何删除另一个模块创建的对象?
- 11. Ruby:删除对象,同时循环与该对象的列表
- 12. 如何为过去24小时的每一行制作临时表?
- 13. 删除旧的(24小时)以前的VB.NET?
- 14. 删除24小时以前的文件中的所有行
- 15. 的NSMutableArray删除对象1最后一个对象
- 16. 如何删除作为循环主题的对象?
- 17. 如何将TimePickerDialog设置为24小时?
- 18. 24小时后自动删除文件和包含文件的文件夹
- 19. 删除作为“用户”对象的“商店”对象admin
- 20. SWObject最后删除对象
- 21. 如何删除ACL(例如,当用户/对象被删除时)?
- 22. 超过24小时的Python时间对象
- 23. Hibernate如何删除(obj)一个对象?
- 24. 你如何删除一个ActiveRecord对象?
- 25. 从它创建一个迭代器对象后删除列表
- 26. 为什么删除忽略删除除第一个以外的任何对象?
- 27. 何时应该删除动态创建的单例对象?
- 28. 如何创建具有不同的对象作为参数
- 29. 如何删除此对象?
- 30. 如何删除对象?
看看芹菜http://docs.celeryproject.org/en/latest/django/first- steps-with-django.html – Thomas