Ruby on Rails,回调,稍后运行一个方法

时间:2013-03-17 09:58:19

标签: ruby-on-rails callback delayed-job

我需要一些回调函数,以便在create-method之后的5分钟内对函数进行caled。

我的情况:

用户登录我的网页,上传一些文件(调用create-method),如果文件正在进行分析的话,在5分钟内(在5分钟内它应该调用方法,这只需要整个文件夹,存储文件并进行分析)。这就是为什么输入rake jobs:work或使用gem daemons并在命令行中键入"RAILS_ENV=production script/delayed_job start"这样的事情并不适合我。

我想像往常一样使用rails s启动我的应用程序,登录,上传文件,它应该自动运行以分析文件。
据我所知,the jobs started他们会继续跑步吗?我不需要这个。我只需要在创建方法后5分钟内运行一些方法 所有这些与gem 'delayed_job_active_record'进行工作以及daemons启动工作人员的事情似乎太难以完成这么简单的任务。

那么,是否可以使用gem 'delayed_job_active_record'gem daemons使用rails启动我的应用程序,并且每次操作都将在后台自动完成,而不会停止应用程序并在commanline中键入内容以运行延迟工作? 或者没有这些复杂的东西可以做到吗?

我已经询问过delayed_jobs herehere

非常感谢提前。

1 个答案:

答案 0 :(得分:-1)

这是一篇文章,其中描述了how to set up scheduling with delayedjob
更新2015-07-06:链接已损坏,我找不到缓存版本 - 请参阅下面的更新

如果可以的话,我建议调查sidekiq这是一个很棒的消息队列,甚至还有内置的调度。它确实使用了redis,所以除非你已经部署了redis,否则它将是一点点工作。

<强>更新
Here is a gist使用delayedjob

的计划和重复作业的简单解决方案