Class: ScheduleWorkers::Partner::CheckNewsMarketingPost

Inherits:
ApplicationWorker show all
Includes:
RollbarSynTokenSetterWorker
Defined in:
app/workers/schedule_workers/partner/check_news_marketing_post.rb

Instance Method Summary collapse

Methods inherited from ApplicationWorker

unlimited_retry

Instance Method Details

#performObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'app/workers/schedule_workers/partner/check_news_marketing_post.rb', line 9

def perform
  url = 'https://blog.hungryhub.com/wp-json/wp/v2/tags?slug=PartnerNews'

  response = DefaultFaradayClient.create_faraday_connection.get url

  if response.status == 200
    tag_id = JSON.parse(response.body).first['id']

    _response = DefaultFaradayClient.create_faraday_connection.get "https://blog.hungryhub.com/wp-json/wp/v2/posts?tags=#{tag_id}"

    if _response.status == 200
      notif_data = []

      data = JSON.parse(_response.body).map do |item|
        title = item['title']['rendered']
        notif = TransactionNotif.find_by(
          message_en: title,
          notif_type: :news_marketing
        )

        if notif.blank?
          Restaurant.find_each do |r|
            notif_data << {
              restaurant_id: r.id,
              message_en: title,
              message_th: title,
              notif_type: :news_marketing
            }
          end
        end
      end

      TransactionNotif.import notif_data, batch_size: 2000, raise_error: true
    end
  end
end