我來自Java世界,並在Ruby/Rails世界中不斷聽到這個術語'worker'。它是什麼?一個線程?ruby/rails中的工作者是什麼?
18
A
回答
29
取決於上下文。
工作人員通常是一個在您的應用程序請求週期外運行的進程。像resque和delayed_job等Ruby庫通常用於管理工作隊列。另一方面,如果我們談論的是Web服務器,「worker」一詞有時可以與線程或進程交互使用(即:nginx或apache「workers」)。
3
運行您的rails應用程序的服務器使用工作人員來完成應用程序所需的所有工作。它發送電子郵件,運行請求,執行計算等。您需要的工作人員數量取決於您的Web應用程序需要執行多少流量和計算。
7
通常在'Rails世界'中,工作者指的是一個優先級隊列類型系統,它有單獨的進程,彈出在應用程序週期之外執行的任務。這些系統中最受歡迎的是DelayedJobs。這使用數據庫遷移來添加表來保存要由工作進程執行的任務。然後您可以配置任何數量的工作進程來檢查DelayedJobs隊列表並執行序列化的任務。通過DelayedJobs,您不僅可以設置不同任務的優先級,還可以執行任務的時間範圍,例如。從現在起1小時發送一封特定電子郵件。
希望這有助於 /Salernost
相關問題
- 1. 什麼是 - 用Ruby/Rails的
- 2. 在Ruby/Rails中,什麼是「Rails」?
- 3. Ruby on Rails&服務工作者
- 4. Ruby on Rails中的MVC是什麼?
- 5. 初學者:關於Ruby on Rails - 它是如何工作的?
- 6. 作爲Ruby/Rails開發者,zsh vs bash?有什麼優勢?
- 7. promisifyAll如何工作,或者它的工作要求是什麼?
- 8. 在Ruby中「=>」是什麼意思,它是如何工作的?
- 9. Ruby on Rails中db/seeds.rb代碼的作用域是什麼?
- 10. 爲什麼腳手架不能在Ruby on Rails中工作?
- 11. Ruby on Rails「什麼是新的?」 - 模態
- 12. 什麼是進程/收割者,爲什麼它不工作?
- 13. 爲什麼我的ruby-on-rails登錄表單沒有工作?
- 14. Ruby中的操作順序是什麼?
- 15. 爲什麼Ruby中不支持工作?
- 16. 用於Ruby on Rails的最佳Google Analytics工具是什麼?
- 17. Ruby on Rails中Rack和Rails金屬的區別是什麼
- 18. 什麼是共享工作者?工人與共享工人有什麼不同?
- 19. 如果作者是Post的作者,那麼做點什麼?
- 20. HTML5中的共享工作者和工作者有什麼區別?
- 21. Ruby on Rails究竟是什麼?
- 22. Ruby on Rails - 什麼是「查找」方法?
- 23. Ruby on Rails和Java Development的最佳操作系統是什麼?
- 24. 爲什麼不能正常工作? (更多Ruby比Rails)
- 25. Ruby GeForce Rails無法正常工作。我錯過了什麼?
- 26. 有什麼用_()中的Ruby/Rails的
- 27. 爲什麼MyModel.all在Rails中工作?
- 28. 你最喜歡的Ruby on Rails書籍是什麼?爲什麼?
- 29. 是Ruby真的不可擴展?或者只是Ruby on Rails?
- 30. Ruby中的__varmap__是什麼?
在web服務器中,是'工作人員'獨立的線程還是進程? – Kamilski81 2012-04-27 04:43:50
@ Kamilski81在Web服務器中使用這裏概述的解決方案,這些將是單獨的過程。以delayed_job爲例,您可以運行許多不同的工作進程,這些工作進程都可以從數據庫中彈出下一個最高優先級任務。由於這種架構,許多人使用上帝或BluePill等工具來運行額外的監控程序。有關更多信息,請參閱https://www.ruby-toolbox.com/categories/server_monitoring – salernost 2012-04-30 12:35:46