статус рендеринга: 200 с фоновыми заданиями, такими как sidekiq - PullRequest
0 голосов
/ 03 августа 2020

Я имею дело с веб-перехватчиками для создания заказов Shopify, и он запускается несколько раз.

def perform(shop_domain:, webhook:)
    shop = Shop.find_by(shopify_domain: shop_domain)
    found = false
    order_item_ids = []
    webhook['line_items'].each do |line_item|
        line_item['properties'].each do |property|
            if property['name'] == 'BJ_PROD'
                found = true
                order_item_ids << line_item['product_id']
            end
        end
    end
    if found
        @order = Order.create({
          shop: shop,
          shopify_order_id: webhook["id"],
          status: 'Ordered',
          sent_to_admin: false,
          order_details: webhook
        })
    end

    session = ShopifyAPI::Session.new(shop.shopify_domain, shop.shopify_token)
    session = ShopifyAPI::Base.activate_session(session)
    order_item_ids.each do |order_item_id|
      product = ShopifyAPI::Product.find(order_item_id)
      product.published_at = nil
      product.save!
    end
    shop.with_shopify_session do
    end
    render status: 200, json: @order.to_json
  end

Я пытаюсь использовать статус рендеринга: 200 и head: ok в моем классе OrdersCreateJob, но выдает ошибку, поскольку используется в фоновом задании. Кто-нибудь знает, как бороться с таким сценарием ios?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...