내 SideKiq 백그라운드 작업자를 통해 Twilio로 텍스트를 보내는 데 문제가 있습니다. 작업자가 텍스트를 보낸 다음 전자 메일을 보내야합니다 (Mandrill 사용). 이메일이 정상적으로 작동합니다. 텍스트는 절대로 발생하지 않습니다.내 Twilio SMS가 Sidekiq 백그라운드 작업자로 전송되지 않는 이유는 무엇입니까?
- 다른 작업 (환경 변수 사용 포함)과 관련된 문제가 없습니다.
- Twilio 텍스트를 배경 작업자 외부로 보내는 데 문제가 없었습니다.
- Foreman을 사용하여 응용 프로그램을 시작합니다.
- 콘솔에서
UserNotifier.new.perform(1)
을 실행하면 전자 메일과 텍스트가 모두 전송됩니다.이(내 Gemfile이 twilio - 루비 보석 포함)
:이 내 SMS를 보낼 사용하고 클래스입니다 : 여기
문제의 코드의 일부입니다
class SendSMS
def initialize
@twilio_client = Twilio::REST::Client.new "#{ENV['TWILIO_SID']}", "#{ENV['TWILIO_TOKEN']}"
end
def send(message, user)
@twilio_client.account.sms.messages.create(
:from => "+1#{ENV['TWILIO_PHONE_NUMBER']}",
:to => user.phone_number,
:body => message
)
end
end
내 근로자는 다음과 같습니다
class UserNotifier
include Sidekiq::Worker
sidekiq_options queue: :immediate
def perform(user_id)
user = User.find(user_id)
message = "Hi #{user.name}!"
SendSMS.new.send(message, user)
UserMailer.send(message, user).deliver
end
end
누구든지 내 코드 문제를 볼 수 있습니까? 게시해야 할 것이 있거나 내가 할 수있는 설명이 있다면 알려주십시오.
내 서버에 작업자 로그가 표시되고 있으며 오류가 발생하지 않았습니다.
백그라운드 작업자를 디버깅하는 방법에 대한 제안도 환영 할 만합니다.
내가 제안한 전술로 문제가 해결되었습니다. 왜 내가 [sidekiq의 로깅 문서] (https://github.com/mperham/sidekiq/wiki/Logging)를 찾을 수 없었는지 알 수 없습니다. 오류는 위의 코드에 포함되지 않은 매개 변수로 심볼을 보내는 것과 관련이 있습니다 ... * 느린 박수 * – QuillyT