gpt4 book ai didi

node.js - gRPC:14 UNAVAILABLE:无法连接到所有地址

转载 作者:行者123 更新时间:2023-12-03 12:12:52 24 4
gpt4 key购买 nike

grpc即使我设置了我的笑话,也无法连接 test()在超时之前将异步函数设置为 100000 毫秒上限。

// terminal, after running jest --watch
● creates new record

14 UNAVAILABLE: failed to connect to all addresses

at Object.<anonymous>.exports.createStatusError (node_modules/grpc/src/common.js:91:15)
at Object.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:1209:28)
at InterceptingListener.Object.<anonymous>.InterceptingListener._callNext (node_modules/grpc/src/client_interceptors.js:568:42)
at InterceptingListener.Object.<anonymous>.InterceptingListener.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:618:8)
at callback (node_modules/grpc/src/client_interceptors.js:847:24)

Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 skipped, 2 total
Snapshots: 0 total
Time: 106.03s, estimated 116s
Ran all test suites related to changed files.

Watch Usage: Press w to show more.
owner@G700:~/PhpstormProjects/shopify/bu
FAIL functions/src/classes/__tests__/FirestoreConnection.test.ts (108.991s)
✕ creates new record (100029ms)
○ skipped

● creates new record

: Timeout - Async callback was not invoked within the 100000ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 100000ms timeout specified by jest.setTimeout.Error:

51 |
52 |
> 53 | test("creates new record", async () => {
| ^
54 | const addedDocument = await db
55 | .createNew(RecordTypes.globalRule, {
56 | storeId : "dummyStoreId"

at new Spec (node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
at Object.<anonymous> (functions/src/classes/__tests__/FirestoreConnection.test.ts:53:1)

● creates new record

14 UNAVAILABLE: failed to connect to all addresses

at Object.<anonymous>.exports.createStatusError (node_modules/grpc/src/common.js:91:15)
at Object.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:1209:28)
at InterceptingListener.Object.<anonymous>.InterceptingListener._callNext (node_modules/grpc/src/client_interceptors.js:568:42)
at InterceptingListener.Object.<anonymous>.InterceptingListener.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:618:8)
at callback (node_modules/grpc/src/client_interceptors.js:847:24)

Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 skipped, 2 total
Snapshots: 0 total
Time: 111.16s
Ran all test suites related to changed files.


// FirebaseConnection.ts, inside the class

protected async addDocument(collectionName: string, documentData: object): Promise<firestore.DocumentSnapshot|null> {
try {
const newlyAddedDocument = await this.database
.collection(collectionName)
.add(documentData);

return await newlyAddedDocument.get();
}
catch (e) {
console.log(e, `=====error=====`);
return null;
}
}

// --------------- Public Methods

public async createNew(type: RecordTypes, documentData: object): Promise<firestore.DocumentSnapshot|null> {
this.verifySchemaIsCorrect(type, documentData);
const collectionName = this.getCollectionName(type);

return await this.addDocument(collectionName, documentData);
}

// FirebaseConnection.test.ts
import * as firebaseTesting from "@firebase/testing";
import {RecordTypes} from "../../../../shared";

import FirestoreConnection from "../FirestoreConnection";

/* * * * * * * * * * * * * * * * * * * * *
Setup
* * * * * * * * * * * * * * * * * * * * */

const createTestDatabase = (credentials): any => {
return firebaseTesting
.initializeTestApp({
projectId: 'testProject',
auth: credentials
})
.firestore();
};

const nullAllApps = firebaseTesting
.apps().map(app => app.delete());

const db = new FirestoreConnection('testShopDomain', createTestDatabase(null));


/* * * * * * * * * * * * * * * * * * * * *
Tests
* * * * * * * * * * * * * * * * * * * * */

test("creates new record", async () => {
const addedDocument = await db
.createNew(RecordTypes.globalRule, {
storeId : "dummyStoreId"
, globalPercent : 40
});

expect(addedDocument).toEqual({
storeId : "dummyStoreId"
, globalPercent : 40
, badProp : 0
});
}, 100000);

有没有人能说出为什么会这样?查看文档,这似乎是一个较低级别的库: https://grpc.github.io/grpc/node/

更新

在提示gRPC找不到服务器/模拟器后,我跑了 firebase serve --only functions,firestore .终端显示模拟器运行在两个服务的不同端口上。重播 jest --watch现在产生一个稍微不同的错误:
 2 UNKNOWN:

at Object.<anonymous>.exports.createStatusError (node_modules/grpc/src/common.js:91:15)
at Object.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:1209:28)
at InterceptingListener.Object.<anonymous>.InterceptingListener._callNext (node_modules/grpc/src/client_interceptors.js:568:42)
at InterceptingListener.Object.<anonymous>.InterceptingListener.onReceiveStatus (node_modules/grpc/src/client_interceptors.js:618:8)
at callback (node_modules/grpc/src/client_interceptors.js:847:24)

最佳答案

该 gRPC 错误意味着没有服务器在您尝试连接的地址上运行,或者由于某种原因无法建立到该服务器的连接。如果您尝试连接到本地 Firestore 模拟器,您应该验证它是否正在运行,并且您可以在测试之外连接到它。

关于node.js - gRPC:14 UNAVAILABLE:无法连接到所有地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59823424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com