我有一个应用程序,我想在激活后72小时自动停用用户。我已经设置了延迟工作,但我现在想知道这是否是最好的选择。
我的问题是,如果我将来将任务设定为72小时,那么整个72小时内工作人员是否会活跃? (我很担心Heroku按小时收费)
我愿意在这里提出更好的方法。我的一个想法就是使用exp_date
列进行设置,并通过完全消除对DJ的需求来检查那里。
答案 0 :(得分:1)
我的问题是,如果我将来将任务设定为72小时,那么整个72小时内工作人员是否会活跃? (我关注这一点,因为Heroku按小时收费)
是的,这将是所有时间。延迟作业不断ping数据库以查看其队列中是否有任何作业。
而且,关于最佳选择,我认为我宁愿将一列知道为valid_upto
并将日期置于活动状态。我只对那些created_at
日期小于或等于valid_upto
日期的用户签名(或其他)。并且,定期可能是一个月一次,我将运行一个cron作业来删除invalid
用户。
而且,就像@leesungchul建议的那样,你可以使用它,看起来很酷。
答案 1 :(得分:0)
您可以使用无效的宝石作为延迟作业的插件,这样您就不会让您的工作人员继续在heroku上运行。