【发布时间】:2016-12-02 22:13:18
【问题描述】:
我是 Rails 新手,
如果我向任何用户发送请求,并且如果在 5 分钟内没有任何响应,则请求发送给另一个用户。
如何在 rails 中做到这一点,请建议我。
【问题讨论】:
-
对不起,上面的描述不清楚。请详细说明。您是想向用户发送好友请求之类的东西,然后等待 5 分钟让他们回复还是其他什么?
-
是的,类似的东西.. 实际上我想发送一个请求并等待 5 分钟,如果该用户不接受该请求,那么第二个用户将收到一个请求并再次等待 5 分钟
-
您可能需要在初始“请求”创建 5 分钟后启动后台进程,您可以使用 sidekiq:github.com/mperham/sidekiq/wiki/Scheduled-Jobs
-
没错,我也建议使用像sidekiq这样的后台处理器,并在调用该方法时使用“perform_at”安排任务,一旦您得到用户的响应,您就可以找到带有id的工作并取消计划的作业,否则作业将在 5 分钟后执行,您可以在向其他用户发送请求时跳过前一个用户,通过向请求的用户提供状态。
标签: ruby ruby-on-rails-4 delayed-job