【问题标题】:Rails problem with Delayed_Job and Active RecordDelayed_Job 和 Active Record 的 Rails 问题
【发布时间】:2010-05-28 17:36:25
【问题描述】:

我正在使用 Delayed_Job 从 API 中获取 Twitter 用户的数据,但由于某种原因它没有将其保存在模型中!请帮忙! (代码如下)

class BandJob < Struct.new(:band_id, :band_username) #parameter

  def perform
    require 'json'
    require 'open-uri'
    band = Band.find_by_id(band_id)
    t = JSON.parse(open("http://twitter.com/users/show/#{band_username}.json").read)
    band.screen_name = t['screen_name']
    band.profile_background_image = t['profile_background_image_url']
    band.url = 'http://' + band_username + '.com'
    band.save!
  end

结束

澄清一下,我实际上没有收到任何错误,只是没有保存。这是我的日志的样子:

* [JOB] acquiring lock on BandJob
  [4;36;1mDelayed::Job Update (3.1ms)[0m   [0;1mUPDATE "delayed_jobs" SET locked_at = '2009-11-09 18:59:45', locked_by = 'host:dhcp128036151228.central.yale.edu pid:2864' WHERE (id = 10442 and (locked_at is null or locked_at < '2009-11-09 14:59:45') and (run_at <= '2009-11-09 18:59:45')) [0m
  [4;35;1mBand Load (1.5ms)[0m   [0mSELECT * FROM "bands" WHERE ("bands"."id" = 34) LIMIT 1[0m
  [4;36;1mBand Update (0.6ms)[0m   [0;1mUPDATE "bands" SET "updated_at" = '2009-11-09 18:59:45', "profile_background_image" = 'http://a3.twimg.com/profile_background_images/38193417/fbtile4.jpg', "url" = 'http://Coldplay.com', "screen_name" = 'coldplay' WHERE "id" = 34[0m
  [4;35;1mDelayed::Job Destroy (0.5ms)[0m   [0mDELETE FROM "delayed_jobs" WHERE "id" = 10442[0m
* [JOB] BandJob completed after 0.5448
1 jobs processed at 1.8011 j/s, 0 failed ...

谢谢!

【问题讨论】:

    标签: ruby-on-rails delayed-job


    【解决方案1】:

    我遇到了同样的问题,延迟的工作和我的服务器都解决了问题。

    【讨论】:

      【解决方案2】:

      在初始化程序中设置Delayed::Job.destroy_failed_jobs = false,然后查看数据库中的delayed_jobs 表。查找 last_error 错误列 - 将有堆栈跟踪,以便您诊断问题。

      您可能还对delayed_job_admin 插件感兴趣,它添加了一个控制器来查看作业。

      【讨论】:

      • 非常感谢您的快速反馈!奇怪的是我没有收到任何错误...只是没有保存!
      • 你好@MichaelWaxman 你解决问题了吗?我也一样
      【解决方案3】:

      想通了。

      这实际上是控制台和 Delayed_Job 不能很好地配合使用的问题。我不得不在控制台中重新定义变量,但它反映了模型中的变化。哎呀。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多