首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails backgroundRB插件需要对其进行调度,并将其排队到数据库以确保持久化。

Rails backgroundRB插件需要对其进行调度,并将其排队到数据库以确保持久化。
EN

Stack Overflow用户
提问于 2009-10-30 01:45:19
回答 1查看 271关注 0票数 0

我正在尝试做以下工作:

在数据库表bdrd_job_queue.中,

  1. 每15分钟运行一次工作人员,并在其中运行一次
  2. ,其中包含作业的日志。

我所做的:

我的backgroundRB.yml文件中每15分钟就有一个时间表

方法调用有一个persistent_job.finish!调用,但它不起作用,因为persistent_job对象是零。

如何确保它已登录到DB中,但仍然自动从backgroundRB.yml调度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-06 18:00:00

我终于能做到了。

解决方法是调度一个任务,该任务将将其排队到数据库中,计划立即运行。

你的工人..。

代码语言:javascript
复制
class NotificationWorker < BackgrounDRb::MetaWorker
  set_worker_name :notification_worker

  def create(args = nil)
  end

  def queue_notify_changes(args = nil)
    BdrbJobQueue.insert_job(:worker_name => 'notification_worker',
                            :worker_method => 'notify_new_changes_DAEMON',
                            :args => 'hello_world',
                            :scheduled_at => Time.now.utc,
                            :job_key => 'email_changes_notification_task')
  end
  def notify_new_changes_DAEMON
     #Do Incredibly cool stuff here
  end

在配置文件backgroundrb.yml中

代码语言:javascript
复制
--- 
:backgroundrb: 
  :ip: 0.0.0.0
  :port: 11006
  :environment: production
  :log: foreground
  :debug_log: true
  :persistent_disabled: false
  :persistent_delay: 10

:schedules:
  :notification_worker:
    :queue_notify_changes:
      :trigger_args: 0 0 0 * * *
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1647592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档