我一直在做一些研究,但无法在Rails
中弄清楚该如何做。
一定时间后,我需要执行一些代码。我发现有些gems
可以解决这个问题,但我不想使用任何东西。
我基本上在create
中有一个Rails controller
函数,并且24小时后需要在其中发生一些事情。
编辑:我尝试使用sleep
,但是它必须为async
,即使它在if
语句中,睡眠也将阻止一切运行直至完成。
答案 0 :(得分:5)
您需要使用ActionJob
创建一个rails generate job your_job_name
。
然后您可以延迟执行
YourJob.set(wait_until: 1.day.from_now)
为此,您确实需要为您的项目配置一个Job队列。我个人推荐Sidekiq
遗憾的是,您很难避免为此设置宝石。