node.js - 使用传统工作者或使用节点服务器处理作业?
问题描述
我希望能够处理将有多个与之关联的任务的后台作业。任务可能包括启动 API 请求(阻塞操作)以及操作和持久化响应。其中一些任务还可能具有必须异步执行的子任务。
对于像 Ruby 这样的语言,我可能会使用一个 worker 来执行这些作业。据我了解,每次有新作业进入队列时,都会有一个新线程执行它。正如我之前提到的,有时一个任务可能包含一系列要异步执行的子任务,所以在我看来,我有两个选择:
将子步骤执行添加到工作队列(但一个作业可能很容易有很多子任务,这些子任务会快速填满队列并阻止新作业的处理)。
如果我使用事件驱动的节点服务器来处理作业执行怎么办?我不需要将子任务添加到队列中,因为单节点服务器可以异步处理一个作业的整个执行过程。这样做有什么问题吗?
这是我第一次遇到这种问题,我想知道哪种方法更适合解决我的问题。
解决方案
推荐阅读
- javascript - 应用过滤器时数据源突然丢失
- python - mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;在第 1 行的 ')' 附近使用正确的语法
- c# - 在 C# 中委派异步行为的模式
- visual-studio-code - 可以在行尾创建用于注释的 VS Code 键盘快捷键吗?
- opencv - ImageDataGenerator 不显示我的 RGB processing_function 的图像颜色(使用 openCV)
- php - PHP 中不采用会话持续时间设置
- typescript - 如何使用 ts-node 解决集群模式下的 pm2 错误
- vue.js - vuejs显示满足v-if条件的次数
- apache-flink - KeyedStream的不平衡处理
- php - Wordpress 页面以 phpinfo 结束