问题标签 [firebase-queue]

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 投票
1 回答
1416 浏览

javascript - Firebase 事务错误

考虑以下:

这些是从同一个节点 js 进程调用的。

一个用户看起来像这样:

当我运行压力测试时,我注意到有时传递给 userRef 事务更新函数的用户对象不是完整用户,它只是以下内容:

这显然会导致错误,因为 user.credits 不存在。

可疑的是传递给 userRef 事务的更新函数的用户对象与 userNotificationRef 事务的更新函数返回的数据相同。

为什么会这样?如果我在用户父位置上运行两个事务,这个问题就会消失,但这是一个不太理想的解决方案,因为我会有效地锁定并读取整个用户对象,这在添加一次写入通知时是多余的。

0 投票
1 回答
98 浏览

node.js - firebase 队列初始化失败

我的 Firebase 队列初始化失败并出现以下错误。我正在使用 Firebase 3。

堆栈跟踪

我的代码:

0 投票
0 回答
346 浏览

node.js - Firebase 队列 - 工作人员之间的阻塞和非阻塞

以下是标准代码,将任务添加到队列中,然后工作池将处理这些任务。我感到困惑的是队列中有超过 1 个工作人员意味着什么,因为我不相信这段代码会启动多个 node.js 进程?

我的问题是 - 是否有必要在队列中的下一个项目将由另一个工作人员处理之前调用 resolve()?

我想了解如何让工作人员相互阻塞(为了数据库原子性)以及让工作人员在不同的任务上并行工作。(如果处理功能中发生 I/O,它们将并行/并发工作)。

如何使用 Firebase 控制阻塞/非阻塞工作队列?

0 投票
2 回答
136 浏览

node.js - 处理队列中的任务后更新客户端

Firebase 客户端可以将任务添加到队列中,如下所示:

此任务表示获取项目报价的请求。

在后端,Firebase 队列工作人员将接手任务并做一些工作,但是当后端工作完成时更新客户端的规范方法是什么?

我们应该在登录用户模型上使用一个属性,让客户端监听变化吗?

登录的用户可以在自己的模型上监听变化,然后在变化时会得到报价数据?

除了登录用户模型本身之外,也许在数据库中使用另一个模型?

0 投票
0 回答
256 浏览

javascript - 节点工作人员因“FIREBASE WARNING”而崩溃

我有一个在节点上运行的 firebase-worker ( https://github.com/firebase/firebase-queue )。我有一个工作人员需要执行的特定任务的大量积压,但通常任务失败,然后工作人员只是停止并显示以下错误消息:

工作人员正在执行的任务是在 Firebase 路径上增加一个值:

在最后一个“callback()”上,任务得到解决并继续下一个任务。我在这里做错了吗?我错过了一些错误处理吗?

0 投票
2 回答
1601 浏览

node.js - Google App Engine 柔性环境中的多个 NodeJS 服务/模块

我正在努力弄清楚如何在灵活的谷歌应用引擎上部署多个 nodejs 服务。

我正在使用多个带有 firebase-queue 的 nodejs 类来处理我的任务。现在,我正在使用我的 package.json 来触发立即启动所有内容。然而,这已经成为问题。我希望能够将更改推送到一个特定的服务/脚本,而不必停止所有其他脚本。

我的 package.json 目前看起来像这样:

我正在使用不同的 .yaml 文件来确定我要推送的构建变体(调试或发布),但我发现很难单独部署每个任务。我找到了有关如何在 python 中执行此操作的文档,但在 nodejs 上没有找到。有没有人有什么建议?

0 投票
1 回答
87 浏览

firebase-queue - firebase-queue - 定义规范时工作人员不启动

我正在使用 firebase-queue,我想使用规范功能。我做了以下事情:

-服务器端 :

-客户端 :

在 firebase 数据库中,我看到任务和规范已正确添加: 我的数据库视图

-版本 Node.js v7.0.0 firebase v3.5.3 firebase-queue v1.5.0

问题是工人从来没有接受过任务,我找不到原因。谁能帮我 ?谢谢。

0 投票
0 回答
181 浏览

javascript - 已关闭 - Firebase Admin SDK、Firebase Framework SDK 和 Firebase Queue SDK

几天后,我发现:

应在客户端使用 Javascript Firebase SDK。
Javascript Firebase Admin SDK 应该在服务器端与 Node.js 一起使用。
应在服务器端使用 Javascript Firebase Queue SDK 以更快的响应在服务器上分发后台工作。

关于 Firebase 队列的参考资料:

笔记:

  • 为什么 Firebase 文档页面中没有关于 Firebase 队列的任何文档?也没提。
  • Javascript Firebase Admin SDK 是新的 Javascript Firebase Server SDK 包。前几天改了。
  • 从 Firebase 服务功能迁移到 Firebase 管理员的文档存在一些同步问题。

谢谢你的支持。

0 投票
1 回答
124 浏览

firebase - 如何安全地允许用户从 Firebase 队列中删除响应?

我将 Firebase 与 Angular2 和 Firebase-queue 一起用作批处理服务器。

客户端向服务器发送任务,有时他们正在等待响应。

客户端可以使用请求 ID 读取响应。但是,响应会发生什么?我想只有客户可以删除它,但我真的不喜欢给.write客户。

所以我试图找出一种方法来保护这种.write访问。

问题:是否可以仅向拥有请求密钥的用户授予.read和访问权限?.write

/responses其他人无法读取响应本身,甚至节点。

我试图避免人们(邪恶)在用户阅读之前删除响应。

0 投票
1 回答
50 浏览

firebase - 如何查看 Firebase 队列中剩余的任务数?

我有一个 Firebase 队列,里面有大约 300k 个任务。我这样构造它:

我认为new Queue调用是下载整个节点并在工作人员完成任务时将其保存在内存中(基于数据库带宽测量)。

由于它已经在内存中,有没有办法访问队列中剩余的任务数?我希望通过调用来避免重新下载整个节点scrapeQueueRef.once(),但我想将剩余的 # 个任务添加到我的日志中。