<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    rails處理長執行時間的請求

    Posted on 2010-02-20 04:42 leekiang 閱讀(372) 評論(0)  編輯  收藏 所屬分類: ruby
    另一個常見的問題是當應用軟件要執行一個需時長的請求時,處理不當。如果實現得不好,會讓處理這個web請求的handler很長時間沒有反應。

    這個問題是在人機界面方面很普遍,而且也有一個普遍的解決方法 -- 把任務交給一個背景運行的過程或線程。任何開發過桌面應用的人都會覺得很熟悉。但是有時候如果開發者把切換和通信做得不好,也會碰到麻煩。

    一個我覺得較好的辦法,而幸好我的ThoughtWorks同事們也同意,就是使用一個actor。在這個模型里,web請求的handler把需時長的請求包裝為一個命令(command),然后放進隊列(queue)內。在背景運行的actor就監察著這個queue,從queue中提出并且執行這個命令。當它把這個命令執行完了,就通知前臺界面的actor。通常這個queue一開始會是數據庫的一個表,之后如有需要的話,再把它改為一個消息隊列(message queue)。

    和ActiveRecord的漏洞一樣,我提起這個不是因為它是Rails里特有的問題;我們在各種應用也會看到同樣的問題。值得在這里帶出是因為用Rails的人們往往很容易忘了有這樣的情況發生,也忘了有這樣的模式去解決。我們發現Rails把web開發中重復又重復的環節變得簡易和快,但是復雜的環節是仍然存在的。

    來源:http://rickylui.com/lionwiki/index.php?page=Ruby+at+ThoughtWorks
    ???? http://martinfowler.com/articles/rubyAtThoughtWorks.html
    主站蜘蛛池模板: 韩国亚洲伊人久久综合影院| 久久精品成人免费网站| 精品亚洲视频在线观看| 免费A级毛片av无码| 亚洲av无码专区首页| 亚洲av伊人久久综合密臀性色| 久九九精品免费视频| 国产精品免费久久| 日本亚洲精品色婷婷在线影院| 亚洲国模精品一区| 久久久高清免费视频| 中文无码日韩欧免费视频| 亚洲综合色婷婷在线观看| 久久久久久久尹人综合网亚洲| 最近免费中文字幕4| 国产成人一区二区三区视频免费| 亚洲欧洲无码一区二区三区| 亚洲综合一区二区三区四区五区| 亚洲成片观看四虎永久| 黄页网站免费观看| 男人天堂免费视频| 亚洲AV无码一区二区乱子仑| 久久亚洲精品中文字幕| 亚洲综合色成在线播放| 永久黄网站色视频免费观看| 免费无码又爽又刺激高潮视频 | 亚洲系列中文字幕| 国产精品亚洲mnbav网站 | fc2成年免费共享视频网站| 亚洲日本乱码卡2卡3卡新区| 国产AV无码专区亚洲AVJULIA| 免费一级毛片免费播放| 成人免费看黄20分钟| 3d动漫精品啪啪一区二区免费| 又粗又硬又大又爽免费视频播放| 激情内射亚洲一区二区三区爱妻| 久久影视综合亚洲| 国产高清在线精品免费软件| 久久久久久精品成人免费图片| a毛片在线还看免费网站| 一区二区免费在线观看|