0
我有一個模型在創建時向外部Web服務發送HTTP請求,以便在保存之前查找要添加的某些信息。交易中的HTTP請求?
目前我正在做一個before_create
回調。我最近在回調happen within database transactions之前/之後得知。
我是否會因爲這樣做而限制數據庫吞吐量等任何問題?在發送http請求之前提交記錄並在返回時更新記錄會更好嗎?
我有一個模型在創建時向外部Web服務發送HTTP請求,以便在保存之前查找要添加的某些信息。交易中的HTTP請求?
目前我正在做一個before_create
回調。我最近在回調happen within database transactions之前/之後得知。
我是否會因爲這樣做而限制數據庫吞吐量等任何問題?在發送http請求之前提交記錄並在返回時更新記錄會更好嗎?
只要你保持一個事務處於打開狀態,它所獲取的所有鎖都是活動的。如果你有一個外部源的調用可能會讓你停留很長時間,請確保在同一個事務中不要有任何不相關的鎖。
換句話說:不要把其他東西放到同一個事務中。
如果您在查找附加信息之前不介意新行可見,那麼您可能只是提交併稍後更新該行。
或者您甚至在啓動事務之前從外部Web服務獲取信息。這將是數據庫最乾淨/最快的解決方案。