Delayed_job崩溃了Heroku工人(YAML问题?)

时间:2014-10-17 18:16:31

标签: ruby heroku ruby-on-rails-3.2 yaml delayed-job

我遇到一个奇怪的问题,导致我的Heroku工作人员崩溃。我们使用Ruby on Rails和delayed_job来完成后台作业。我正在使用Vero gem将作业传递给delayed_job。

这是我用来“识别”Vero用户的电话:

after_save { self.identify! }

然后它将一个作业放在队列中,如下所示:

--- !ruby/object:Vero::Api::Workers::Users::TrackAPI
domain: https://api.getvero.com
options:
  :email: ******@gmail.com
  :data:
    :email: ******@gmail.com
    :name: ? ?
    :first_name: ?
    :last_name: ?
    :school_id: -1

问题似乎是那些问号。我不确定为什么他们出现在那里而不是一串文字。这是出现的错误:

Psych::SyntaxError: (<unknown>): mapping keys are not allowed in this context at line 7 column 14

不幸的是,而不是工作只是失败..它实际上崩溃了工人..不允许处理其他工作。

过去有没有人遇到过这个问题?如何以不会使工作人员崩溃的方式格式化YAML?

谢谢!

1 个答案:

答案 0 :(得分:2)

查看此用户。似乎他通过db中字段的编码输入了一些不接受的数据。 你在使用utf-8吗?如果他进入utf-16,你可以用ruby将它转换为utf-8