【问题标题】:automatically delete users who meet criteria自动删除符合条件的用户
【发布时间】:2015-07-14 06:17:23
【问题描述】:

我想用这个查询集自动删除没有激活帐户的注册用户:User.objects.filter(is_active=False).filter(profile__key_expires__lt=timezone.now()).delete(),但我不知道放在哪里。

需要调用视图和函数才能执行,但我需要此代码连续运行或至少频繁运行。

【问题讨论】:

  • 使用Celery的周期性任务怎么样?
  • 考虑使用celery 进行定期任务
  • @Filly 我正在考虑按照你的建议使用 celery,你认为它比 cron 更容易学习吗?请发表您之前的评论作为答案,以便我接受。
  • 太好了,我喜欢芹菜!我添加了评论作为答案,并链接到另一个描述 Celery 和 cron 之间区别的线程。

标签: python django


【解决方案1】:

您可以创建一个单独的脚本并使用cron在后台运行它

这是不让 Django 应用超载的最佳方法。例如 here my script 加载最佳成员和流行标签。检查我是如何在其中导入 Django 的

【讨论】:

  • 定期任务对我来说是一个新领域,因此我需要一个有据可查的工具。我正在考虑按照 Filly 的建议使用 celery,您认为哪个更容易学习?
  • 这取决于你对 Unix 系统的了解。两个都试试:)
  • 不幸的是,我想我只剩下芹菜了。 +1 将我指向 cron(我之前听说过,但从来不知道或有时间搜索它的用途)。
【解决方案2】:

您可以使用Celery 将您的代码放入周期性任务中。

查看thisthis 线程,了解 crontab 脚本和 Celery 之间的差异。

【讨论】:

  • 感谢 cron 和 celery 之间的差异
猜你喜欢
  • 1970-01-01
  • 2019-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-06
  • 2012-06-24
  • 2011-05-17
相关资源
最近更新 更多