控制器性能的Ruby我已經在控制器提高on Rails的
user = RegUser.create_reg_user(:some_parameters)
UserStuff.pass_user(some_parameters)
@hex = user.hex
以下代碼的@hex被傳遞到視圖並返回。 UserStuff調用需要花費大量時間,對於視圖所需的@hex並不重要。有辦法繼續並返回@hex並加載視圖,然後讓UserStuff過程?
控制器性能的Ruby我已經在控制器提高on Rails的
user = RegUser.create_reg_user(:some_parameters)
UserStuff.pass_user(some_parameters)
@hex = user.hex
以下代碼的@hex被傳遞到視圖並返回。 UserStuff調用需要花費大量時間,對於視圖所需的@hex並不重要。有辦法繼續並返回@hex並加載視圖,然後讓UserStuff過程?
將這些長時間運行的「作業」卸載到後臺隊列中。可能對您進行設置和運行最簡單的方法是Delayed Job。
我們使用Beanstalkd(隊列)和許多工作進程來處理所有長時間運行的任務(或任何需要超過1-2秒的任務)。
擁有後臺系統來處理這類作業的美妙之處在於,您可以快速擴展,您可以啓動任意數量的工作進程,這些工作進程都可以從主隊列中提取作業(如果是延遲工作)。
Delayed Job是好的,並且易於使用。我推薦它。