在我的 API 中,我正在做的事情已經成為一個擴展問題,并且將來可能會以不同的方式實作
每當我的 API 被命中時,我都會在請求結束時更新用戶的最后一個活動時間戳,目前請求不會完成并將回應發送給用戶,直到這行代碼完成后,是否可以將其啟動到不同的執行緒并將其分離,以便代碼繼續運行而無需等待保存事件完成?
我試圖避免將其發送到rabbitMQ進行后臺處理或redis,因為這些資料已保存到資料庫中
after do
unless @user.nil?
@user.last_activity = Time.now
@user.save
end
log :info, "#{request.ip} - #{@method.upcase} [#{status}] #{@path}"
end
uj5u.com熱心網友回復:
我發現了一些可以幫助你的東西https://github.com/challengepost/activeasync
我也有一個簡單的方法搜索。到目前為止還沒有實作,那就是使用執行緒
https://guides.rubyonrails.org/threading_and_code_execution.html
它應該像你的情況
Thread.new { your task }
或者
Thread.new do
//Your code
結尾
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/410173.html
標籤:
