我希望在24小时后删除一个实例,因为该实例已经创建了如何使用celery
如何在创建实例后启动“TIMER”?
我想要像Snapchat
这样的东西答案 0 :(得分:1)
取决于规模和您的需求。
您将不得不使用django-celery-beat进行定期任务: http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-custom-schedulers
我会诚实地创建一个每3-5分钟运行一次的芹菜任务。
db.foo.aggregate([
{ $addFields: {
"rc": {$eq: [{$divide:[{ "$subtract": [ "$date", input ] },1000000]},
{$trunc: {$divide:[{ "$subtract": [ "$date", input ] },1000000]}} ]}
}}
,{ $match: {"rc":true}}
]);
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