Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在时间到期时自动调用操作?_Ruby On Rails - Fatal编程技术网

Ruby on rails 如何在时间到期时自动调用操作?

Ruby on rails 如何在时间到期时自动调用操作?,ruby-on-rails,Ruby On Rails,我是一名Rails新手程序员。 我正在开发一个社交网络。如果帖子有一个小时没有被阅读,系统将向用户发送一条消息 我读过Resque和Rake,但我不知道哪种方法适合我的情况 我发现延迟的_作业可以执行异步方法。 5.minutes.from_now将在调用in_future时进行计算 handle_asynchronously :in_the_future, :run_at => Proc.new { 5.minutes.from_now } 好的,您可以让一个cron作业在满足给定条件

我是一名Rails新手程序员。

我正在开发一个社交网络。如果帖子有一个小时没有被阅读,系统将向用户发送一条消息

我读过Resque和Rake,但我不知道哪种方法适合我的情况

我发现延迟的_作业可以执行异步方法。 5.minutes.from_now将在调用in_future时进行计算

handle_asynchronously :in_the_future, :run_at => Proc.new { 5.minutes.from_now }

好的,您可以让一个cron作业在满足给定条件的记录上每小时运行一次rake任务,或者让每个cron作业创建一个后台作业条目(如delayedjob),专门在现在+1小时内为该用户运行

您可以使用cron和一些rake任务来发送消息。或者类似于

我认为cron作业不是解决方案,因为时间取决于每条消息。然后,当in_future异步调用handle_时,将对每分钟运行的cron或延迟的job.5.minutes.from_now进行评估:in_future:run_at=>Proc.new{5.minutes.from_now}