rubyで関数の処理が終了するまでレスポンスを待ちたいです。
現在、以下のようなコードでjsonデータを受け取り、Activerecordを介してdbに保存する処理を行っています。
データが多い場合に、webapiを叩いたときに処理が成功しても、rails側でrenderメソッドが実行される前に204ステータスが帰ってくる挙動をしております。
この場合に、webapiを叩いた時に正しいレスポンス(処理が成功した場合、ステータスコード204ではなく200で帰ってきてほしい)を返すためにはどうしたらよいのでしょうか?
現状分かっていること
- 下記のコードでapiを叩いたときに1レコードをjsonデータ200でかえってきています。しかし、複数レコードの時、例えばテーブルの全件をjsonとして送信して保存する処理は200ではなく204が帰ってきています。
環境
rails 5.2.4
ruby 2.6.5
projectはrailsのapi modeで作成しています
ruby
1json = ActiveSupport::JSON.decode(request.body.read) 2# この部分はmodel側に関数で定義しております。------- 3json.each_with_index do |record, index| 4 #dbに保存する処理 5end 6#-------------------------------------------------- 7render status: 200, body: "成功しました"
回答1件
あなたの回答
tips
プレビュー