Ruby on rails 对于长时间运行的后台任务,是否应该使用延迟作业?
我有一个应用程序,我想自动停用用户72小时后,他们已经被激活。我已经设置了延迟工作,但现在想知道这是否是最好的选择 我的问题是,如果我将一项任务设定为未来72小时,那么员工是否会在这整个72小时内积极工作?(我很担心这一点,因为Heroku按小时收费)Ruby on rails 对于长时间运行的后台任务,是否应该使用延迟作业?,ruby-on-rails,heroku,delayed-job,Ruby On Rails,Heroku,Delayed Job,我有一个应用程序,我想自动停用用户72小时后,他们已经被激活。我已经设置了延迟工作,但现在想知道这是否是最好的选择 我的问题是,如果我将一项任务设定为未来72小时,那么员工是否会在这整个72小时内积极工作?(我很担心这一点,因为Heroku按小时收费) 我愿意在这里提出更好的方法。我的一个想法是使用一个exp_date列来设置它,并通过完全消除对DJ的需要来对照登录处的设置进行检查 您可以使用无工作gem,它是一个用于延迟作业的插件,这样您就不会让您的工作人员一直在heroku上运行 我的问题
我愿意在这里提出更好的方法。我的一个想法是使用一个
exp_date
列来设置它,并通过完全消除对DJ的需要来对照登录处的设置进行检查 您可以使用无工作gem,它是一个用于延迟作业的插件,这样您就不会让您的工作人员一直在heroku上运行
我的问题是,如果我将一项任务设定为未来72小时,那么员工是否会在这整个72小时内积极工作?(我很担心这一点,因为Heroku按小时收费)
是的,它会一直开着。延迟作业持续ping数据库以查看其队列中是否有作业
而且,关于最好的选择,我想我宁愿把一列列称为valid\u,直到
并把日期定为活动日期。我只向在日期小于或等于有效日期的用户登录(或任何内容)。而且,我可能每月定期运行一次cron作业来删除无效的
用户
就像@leesungchul建议的那样,你可以用这个,看起来很酷 我已经研究了其中的几个,但我仍然不清楚员工是否会在整个延迟期间保持活跃。在当地,似乎是这样。如果是这样的话,那么即使工人在工作结束后被解雇,即使它只是在等待,它也会在很长一段时间内处于活动状态,并且会在这段时间内产生一个活动工作人员的成本。您使用的是什么身份验证gem?您肯定可以使用自定义设计策略,在数据库可验证后实施该策略,该策略检查帐户的创建日期,然后进行阻止登录-更简单,不需要cron作业,它只在用户尝试登录时生效。是的,我认为这是最好的方法。至少我可以和DJ一起玩了!