signed_up (이메일 알리미를 보내는 것이 목표 임) 후 48 시간 내에 내 사용자가 레스토랑을 만들었는지 확인하는 데 문제가 있습니다. 가입 후 48 시간 내에 식당이 있는지 확인하십시오.
내가 differents의 물건을 시도하고 지금 난 내사용자 모델이 함께 있어요 : 내가 sidekiq와 내가 didn를 것을 보았 기 때문에 User.rb
after_create :reminder
def reminder
if Time.now.utc == self.created_at + 48.hours && self.restaurants.count == 0
UserMailer.theactionofthemail(self).deliver_later
end
나는 이런 식으로 시도 내 UserMailers deliver_later에 일자리를 만들어야합니다 .. :)
모든 단서가 있습니까? 분명하지 않다면 말해주세요! 사용자의 created_at에 (일반적으로 통과 한 경우를 밀리 초에,> = 말하고 싶은, BTW)
는
답장을 보내 주셔서 감사합니다. 지금 시도해 보겠습니다. –
잘 이해하면 메일이 전송되어 48 시간을 기다리고 있습니다. 그리고 사용자가 레스토랑을 만들었다면 각 작업 (기본 sidekiq의 경우 15 초)을 확인하고 있습니까? –
코드 예제를 더 명확하게 업데이트했습니다. 사용자 생성 후'CreateRestaurantReminderJob'은 대기열에 추가되고 48 시간이 지난 후에 만 실행되도록 설정됩니다 (지금까지 이메일이 전송되지 않음). 작업자가 실행되면 "이 사용자는 레스토랑을 아직 만들지 않았습니까?"라고 묻고, 그렇지 않은 경우 바로 이메일을 보냅니다. – Leito