问题标签 [kue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11617 浏览

node.js - 如何在 Heroku 上使用 Node.js 通信 Web 和 Worker dynos?

Web Dynos可以处理 HTTP 请求

而当Web Dynos处理它们时, Worker Dynos可以从中处理工作。

但我不知道如何让Web DynosWorker Dynos相互通信。

例如,我想接收Web Dynos的 HTTP 请求

, 发送给Worker Dynos

,处理作业并将结果发送回Web Dynos

,在 Web 上显示结果。

这在 Node.js 中可行吗?(使用 RabbitMQ 或 Kue 等)?

我在Heroku 文档中找不到示例

还是我应该在Web Dynos中实现所有代码并仅扩展Web Dynos

0 投票
1 回答
1261 浏览

node.js - Mongoose 和 Kue - Node.js - 传递的对象没有保存方法

我正在使用 mongoose 和 Kue 进行流量控制。我将从数据库中检索到的对象传递给 Kue。当作业得到处理时,该对象不再具有某些功能,例如 .save() 等。

提前致谢

0 投票
3 回答
5510 浏览

javascript - Node.js Kue 如何重启失败的作业

我在我的 node.js 应用程序中使用kue处理延迟作业。

我有一些问题要弄清楚如何使用 kue 的 API 重新启动作业,而不必使用 redis 命令将作业的 id 从失败作业列表手动移动到非活动作业列表。

这可以使用 kue 吗?

我不想设置固定的重试次数——我只想重试特定的作业。

也欢迎提出维护良好的 kue 替代方案的建议。

0 投票
0 回答
782 浏览

node.js - 对于节点中的后台进程管理,Kue 有什么好的替代方案吗?

我正在做一个后台进程呈指数级增长的项目。所以我正在为节点寻找一个好的优先级后台队列。

在网上寻找它时,我发现了Kue,但我是新手,所以我不确定这是否是最佳选择。

0 投票
3 回答
1776 浏览

node.js - “工作完成”事件未在 Kue 触发

我无法弄清楚我做错了什么,也许有人可以指出。我试图弄清楚为什么我的“工作完成”事件没有触发。

现在,当我在节点上运行它时,它会打印 123,但它并没有说作业完成。

0 投票
1 回答
699 浏览

node.js - 用 Kue 在同一个节点进程中生产和消费作业可以吗?

看着 Kue(https://github.com/LearnBoost/kue)我有点困惑,我是否可以在同一个节点进程中生产和消费作业,还是需要在单独的节点进程中启动消费者?

我需要在没有任何 HTTP 请求阻塞的情况下将一些 CPU 繁重的任务(生成 PDF)卸载到作业队列。

0 投票
1 回答
1870 浏览

node.js - 如何使用 Kue 处理计划的、重复的工作?

在我的 webapp 中,用户可以创建需要在每个月的特定日期生成和发送的定期发票。例如,可能需要在每月 5 日发送发票。

我正在使用 Kue 来处理我所有的后台作业,所以我也想在这种情况下这样做。

我目前的解决方案是使用每小时setInterval()创建一个工作。processRecurringInvoices然后,此作业将从数据库中查找所有定期发票,并generateInvoice为每个定期发票创建一个单独的作业。

然后,该generateInvoice作业将实际生成发票,如果需要,还将创建一个sendInvoiceToEmail通过电子邮件发送发票的作业。

目前这个解决方案对我来说看起来不错,因为它很好地分离了关注点,但是,我有以下问题:

  1. 我不确定是否应该等待所有“子”作业完成,然后再调用主要processRecurringInvoices作业的 done()?
  2. 我应该在哪里处理错误?我应该将它们交还给processRecurringInvoices工作还是应该为每项工作单独处理它们?
  3. 我如何确保如果处理需要很长时间(超过一个小时),并且其中一个processRecurringInvoices或任何一个子作业仍在运行,processRecurringInvoices则不会再次创建该作业?有点像一份独特的工作,还是相互排斥?
0 投票
2 回答
5814 浏览

node.js - 如何在 kue 中检索具有特定状态的工作?

我正在使用kue作为我的作业队列,并且我想在不使用 GUI 的情况下知道还剩下多少作业,有多少作业失败等。如何检索此类信息?

例如,在开始处理作业队列几分钟后,我想将迄今为止失败的所有作业的状态更新为“非活动”,以便重新启动它们。

我可以在 stackoverflow 上找到的唯一相关问题是this,但是,它在处理某个事件时触发某个事件后一次处理一项作业。我的担忧有所不同,因为我有兴趣检索数据库中具有特定状态的所有作业。

这个问题的答案提到了 kue 库的 .complete 函数,它检索数据库中所有已完成的作业。其他可能的工作状态是否有类似的功能?

0 投票
2 回答
662 浏览

node.js - 这是泄漏内存吗?

我的代码正在泄漏内存。几个小时后,它会填满整个内存并崩溃。我在这里简化了我的代码,有人能判断这是否看起来像泄漏吗?谢谢。

[1] https://groups.google.com/d/msg/nodejs/ZI6WnDgwwV0/sFm4QKK7ODEJ

0 投票
1 回答
2690 浏览

node.js - Kue callback when job is completed

My main Node instance forks a worker process, which accepts messages over IPC (using the built-in Node process.send() and process.on('message'...) which are objects containing information about new jobs to add to Kue. It then processes those jobs.

My main Node instance calls something like this:

and the worker instance does something like this:

and the job completes successfully.

How can I get callback-like functionality in my main Node instance when the job is completed? How can I return some results to the main Node instance from the worker instance?