Railsコントローラのアクションでは、Shopify API呼び出しのメソッドを使用しています。以下のようなもの: ShopifyAPI::Product.all()
Shopify API呼び出しがRailsのバックグラウンドジョブで機能しない
ShopifyAPI::Product.find(:all, params: {title: title})
ShopifyAPI::Product.create(title: title, body_html: description, images: images, tags: tags, product_type: product_type)
はそれのすべては、私は...は非常にきちんとしたいものを行います。
問題は、CSVをアップロードしてこのコントローラメソッドを使用することです。 8つの広告申込情報がある場合は問題ありませんが、非常に迅速に遅くなります。だから私はそれをバックグラウンドワーカーに移してみましょう。
私はRedis/Resqueを使用してすべての作業を行い、いくつかのダミー出力を使用しています(つまり、puts 'Hi there champ!'
)。バックグラウンドワーカーが正しく設定され、実行する必要があるときに実行することを確認しました。きちんとした
それで、コントローラの動作のビットと部分を入れて出力します。それは私がShopify APIを呼び出すまで機能します。私は.new
と呼ぶことができますが、.find
、.all
、または.create
という有効なオブジェクト(バックグラウンドジョブに抽象化する前に動作していました)を試してみると、それはうまくいきません。非常に説明的!私はlogger
とputs
経由で何が起こっている出力を試みたが、私は何が起こっているの多くの出力を生成するように見えることはできませんが、私はShopify APIの仕事にそれを分離している。私はパスワード、サイト、APIキー、秘密などを指定するイニシャライザを持っていても、their setup docs hereのようにShopifyセッションを再初期化する必要があるかもしれないと思っていました。私はそれを間違っていた、またはそれは問題を解決しました。
この時点で私はドキュメントに何か不足していると確信していますが、バックグラウンドジョブからこれらの必要なAPI呼び出しを行う方法を見つけることができません。私が明らかに間違ってやっていることを考えれば、これを解決できるだろうか?誰も同じようなものを扱った?