Class: Chaskiq::SnsReceiverJob
- Inherits:
-
ActiveJob::Base
- Object
- ActiveJob::Base
- Chaskiq::SnsReceiverJob
- Defined in:
- app/jobs/chaskiq/sns_receiver_job.rb
Instance Method Summary collapse
Instance Method Details
#parsed_message_id(m) ⇒ Object
27 28 29 |
# File 'app/jobs/chaskiq/sns_receiver_job.rb', line 27 def (m) m["mail"]["messageId"] end |
#perform(track_type, m, referrer) ⇒ Object
Receive hook
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/jobs/chaskiq/sns_receiver_job.rb', line 7 def perform(track_type, m, referrer) data = m["mail"]["messageId"] metric = Chaskiq::Metric.find_by(data:(m)) return if metric.blank? campaign = metric.campaign #subscriber = metric.trackable #subscription = campaign.subscriptions.find_by(subscriber: subscriber) subscription = metric.trackable subscription.unsubscribe! if track_type == "spam" subscription.subscriber.send("track_#{track_type}".to_sym, { host: referrer, campaign_id: campaign.id, data: data }) end |