Heroku 직원이 충돌하는 이상한 문제가 발생했습니다. Ruby on Rails와 백그라운드 작업을 위해 delayed_job을 사용하고 있습니다. Vero gem을 사용하여 delayed_job으로 작업을 전달하고 있습니다.Delayed_job가 Heroku 작업자를 무너 뜨림 (YAML 문제?)
이--- !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
문제가 보인다
이after_save { self.identify! }
은 다음 그것은 다음과 같습니다 대기열에서 작업을 박았 :
이
내가 베로에 사용자를 "확인"할 수 있도록 전화입니다 그 물음표가 되십시오. 나는 왜 그들이 텍스트의 문자열 대신 거기에 나타나는지 모르겠다. 다른 작업을 처리 할 수 있도록 허용하지 .. 이Psych::SyntaxError: (<unknown>): mapping keys are not allowed in this context at line 7 column 14
불행하게도, 작업이 바로 실패 대신 .. 실제로 작업자 충돌 : 이것은까지 오는 오류입니다.
과거에이 문제가 발생 했나요? 작업자를 충돌시키지 않는 방식으로 YAML을 포맷하려면 어떻게해야합니까?
감사합니다.
안녕하세요 @ 드레 -hh, 답변 주셔서 감사합니다! 테이블 설정은 .. 형식 : InnoDB, 인코딩 : cp1252 서유럽 어 (latin1), 데이터 정렬 : latin1_swedish_ci. 그래서 우리는 utf-8을 사용하지 않고 있다고 생각합니다. 그게 문제라고 생각하니? – criticerz
db에있는, 'identify! '요청이이 작업자를 생성 한 사용자를 찾습니다. 'User.find_by_email 'chuck_testa @ example.com''. 그의 이름과 first_name을 확인하십시오. 또한 db 레코드를 확인하십시오. 나는이 문제가 cp1252에 의해 처리 될 수없는 기호로 이름을 입력하는 사용자들로부터 오는 것이라고 강력하게 의심합니다. 따라서 수동으로 입력을 구문 분석해야합니다. UTF-8을 사용하면 인식 할 수없는 기호로 저장되지만 전체 문자열은 손상되지 않습니다. http://stackoverflow.com/questions/2708958/differences-between-utf8-and-latin1을 참조하십시오. –
이 물음표는 이 'Mojibake'라고 쓰여 있습니다. stackoverflow 게시물은 –