我来自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