📅  最后修改于: 2023-12-03 14:51:28.700000             🧑  作者: Mango
Delayed Jobs 是一个用于在后台异步处理长时间运行的任务的库。在本地开发环境中启动它非常简单,下面是如何实现的。
需要在 Gemfile
中添加 delayed_job
和 delayed_job_active_record
两个 gem:
gem 'delayed_job'
gem 'delayed_job_active_record'
然后运行 bundle install
。
运行以下命令生成 Delayed Jobs 的相关数据库迁移:
rails generate delayed_job:active_record
然后运行迁移:
rake db:migrate
在 Rails 应用程序的根目录下打开一个新的终端窗口,并运行以下命令:
rake jobs:work
这会启动 Delayed Jobs 的进程。现在你可以将你的任务放在队列中,然后看到它们在后台运行。
要将任务推到队列中,可以使用 delay
方法。例如:
SomeJob.delay.perform
其中 SomeJob
是一个处理程序,它必须定义一个名为 perform
的方法,这个方法是实际执行任务的地方。
你可以在控制台的输出中看到任务的状态和进度。如果想以网页的形式查看任务,可以运行以下命令:
rails jobs:work
打开 http://localhost:3000/delayed_job
,你应该能够看到所有任务的详细信息。
以上就是在本地 Rails 3 中启动 Delayed Jobs 的基本步骤。现在你可以在你的应用程序中使用它来异步处理长时间运行的任务。