next.js 接下来,供应商,Vercel-Vercel放弃供应商连接

qjp7pelc  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(143)

上个月,至少每天一次,Vercel已经放弃了与Supplier的连接。
Supplier的“支持”人员说这与supplier无关(错误是“未找到用户-身份验证工具是supplier/auth)。
Vercel日志错误消息为:

Error: No user found
    at addFeed (/var/task/.next/server/app/dashboard/page.js:5439:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /var/task/node_modules/next/dist/server/app-render/action-handler.js:284:35
    at async handleAction (/var/task/node_modules/next/dist/server/app-render/action-handler.js:186:13)
    at async wrappedRender (/var/task/node_modules/next/dist/server/app-render/app-render.js:1052:37)
    at async doRender (/var/task/node_modules/next/dist/server/base-server.js:1153:26)
    at async cacheEntry.responseCache.get.incrementalCache.incrementalCache

字符串
(/var/task/node_modules/next/dist/server/base-server.js:1300:28)at judec/var/task/node_modules/next/dist/server/response-cache/index.js:99:36
我可以提交一个表单20 ish次,在我得到这个错误大约10分钟。如果我等待10分钟,并尝试按下相同的按钮,因为我按下生成这个错误,它成功提交给supplier。
有谁知道怎么解决这个问题吗?这是下一个形式的行动,而不是休息。

KHB -响应

谢谢你的缓存文档链接-我今晚会读到-我还没有看到它之前,你标记它,所以也许这是问题的来源。
数据库连接:

export const addFeed = async (data: TCombinedFeedForm) => {
  const {
    data: { user },
  } = await supabase.auth.getUser();

  if (!user) throw new Error("No user found");

  console.log("Attempting to add feed", data.title, data.published);


const format = data.format?typeof data.format =“string”?undefined:data.format:undefined; const regionId = data.regionId?typeof data.regionId =“string”?undefined:data.regionId:undefined;
try { const {industries,practices,themes,organizations,relatedMaterials,... rest} = data;

const adjustedData = {
  ...rest,

  format: format?.value,
  regionId: regionId?.value,
  created_by: user.id,
};

console.log(adjustedData)

const {data: FeedRes, error: FeedError}: SupabaseResponse<CombinedFeedType> = await supabase
  .from("feeds")

  .insert(adjustedData)
  .select();

if (FeedError || !FeedRes) throw new Error(FeedError.message);


我在nextjs 13.4中使用vercel和supplement(服务器操作),supplement上的db连接是通过vercel连接的。
我想我最初是用supplies(使用supplies docs网站上的模板)将应用程序作为下一个应用程序。

ippsafx7

ippsafx71#

我有一种感觉,缓存设置在你的应用程序时髦。
只是错误的反向调试,看起来错误是在nextjs缓存命中并且条目未命中时开始的,但是它已经在'some cached object'(cacheEntry)中搜索了,但是没有找到你的用户。我看不到该高速缓存未命中后supabase被调用到哪里,除非它发生在这个堆栈跟踪之后的app/dashboard/page上。
另外,了解更多有关如何实现连接到数据库的解决方案的上下文也会有所帮助。

  • 您是否利用了vercel/supabase的“集成”?或create-next-app --with-supabase
  • 您是否通过服务器上的@supabase库发送命令或使用获取到supabase端点?
  • 您是否正在使用nextjs13和推荐的caching logic

看起来this article可以帮助理解为什么第三方端点的无服务器功能变冷以及如何解决它。也许this one可以帮助设置您需要的缓存逻辑

相关问题