簡體   English   中英

Cube.js 后端的錯誤繼續等待問題

[英]Error Continue wait issue on Cube.js backend

我在連接到 AWS serverless 上的 cube.js 后端並在前端儀表板中執行 /cubejs-api/v1/load 請求時遇到了一些問題。 我不斷收到{"error":"Continue wait"}而不是返回的結果。 我正在遵循 react-dashboard 指南進行身份驗證,但使用后端 cube.js 無服務器 AWS 模板進行部署。 這是我的主要 cube.js 文件的樣子。:

const AWSHandlers = require('@cubejs-backend/serverless-aws');
const PostgresDriver = require('@cubejs-backend/postgres-driver');
const fs = require("fs");
const jwt = require("jsonwebtoken");
const jwkToPem = require("jwk-to-pem");
const jwks = JSON.parse(fs.readFileSync("jwks.json"));
const _ = require("lodash");

module.exports = new AWSHandlers({
  checkAuth: async (req, auth) => {
    const decoded = jwt.decode(auth, { complete: true });
    const jwk = _.find(jwks.keys, x => x.kid === decoded.header.kid);
    const pem = jwkToPem(jwk);
    req.authInfo = jwt.verify(auth, pem);
  },
  externalDbType: 'postgres',
  externalDriverFactory: () => new PostgresDriver({
    host: process.env.CUBEJS_EXT_DB_HOST,
    database: process.env.CUBEJS_EXT_DB_NAME,
    port: process.env.CUBEJS_EXT_DB_PORT,
    user: process.env.CUBEJS_EXT_DB_USER,
    password: process.env.CUBEJS_EXT_DB_PASS,
  })
});

我最初沒有正確設置 redis URL,並在將 redis:// 擴展名添加到 serverless.yml 文件之前修復了與 redis 的連接以解決該問題,因此我知道這不是 redis 連接問題。 我假設還有一些其他問題。

cubejs 進程函數根本沒有日志。 我已經根據部署站點上的指南設置了 NAT 網關和子網,以便每個區域都有 1 個子網,僅用於 lambda,並且它們已添加到創建的新 NAT 網關和 2 個函數中,因此它們具有互聯網。

可能是什么問題? 我是否配置錯誤或需要更改某些內容?

@cubejs-backend/serverless使用互聯網連接來訪問消息傳遞 API 以及 VPC 內的 Redis 來管理隊列和緩存。

這種連續的Continue wait消息通常意味着Internet 連接Redis 連接存在問題。 如果是Redis,您通常會在cubejscubejsProcess函數中看到5 分鍾左右的超時。 如果是互聯網連接,您將永遠不會在cubejsProcess函數中看到任何查詢處理日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM