go-fiber 相关问题


PHP Fiber 等待完成,但我不想等待

我想使用Fiber(PHP 8.1)创建一个线程来发送电子邮件(电子邮件发送需要10秒,所以我决定使用线程)。这是我的代码 我想使用Fiber(PHP 8.1)创建一个线程来发送电子邮件(电子邮件发送需要10秒,所以我决定使用线程)。这是我的代码 <?php $fiber = new Fiber(function () { send_email(); }); $fiber->start(); exit(json_encode(['response' => 1])); send_email()的结果并不重要,但启动光纤后,光纤会等到send_email()完成然后exit(json_encode(['response' => 1]));发生!!!!我希望它立即退出,但也发送电子邮件! 有什么问题吗? 根据 https://www.php.net/manual/en/language.fibres.php Fiber 是可中断的,但没有提到它是完全异步或多线程 - 它不允许 main 函数继续自动执行...根据我的阅读,只有在您暂停 Fiber 时才会发生 - 事实上,这就是您在代码中报告的体验。 PHP 是单线程的,并且没有任何类型的适当的基于任务的异步编程模型(不幸的是,与其他服务器端语言(如 NodeJS 或 C#)相比,这是现在的一个主要弱点)。 https://php.watch/versions/8.1/fibres也说 重要的是并发执行并不意味着同时 执行。 Fiber 和主执行流程不会发生在 同一时间。由主执行流程来启动 Fiber, 当它启动时,Fiber 会被独占执行。 和 Fiber 本身不允许同时执行多个 Fiber 或主线程和一个 Fiber。 ...所以我认为您可能误解了此功能及其功能 - 它无法帮助您满足您的要求。 据我所知,使用 PHP 不可能做你正在尝试的事情。更好的解决方案可能是将电子邮件发送给单独的进程 - 例如由 cron 触发的后台任务。这是一个相当典型的模式:PHP 收到一个请求,要求它发送电子邮件。它将请求记录在数据库表中,然后退出。后台任务按计划执行,从数据库表中提取所有未完成的任务并运行它们,然后更新表以表明它们已完成。这样,如果后台任务花费更长的时间,其实并不重要,因为它不会减慢网站或最终用户的速度。 这是一个老问题,但您可以使用 fastcgi_finish_request() 功能向用户发送响应并继续进行其他操作。 您可以阅读此回复https://stackoverflow.com/a/4236290/1931953


无法在react-三纤维中导入dat.gui

对于使用react- Three-Fiber制作的项目,我导入了以下库: 从 '三' 导入 * 作为三; 从“react”导入 React, { Suspense, useState }; 导入 { 画布,useLoader }


修复 Go 中的导入周期

所以我有一个正在尝试解决的导入周期。我有以下模式: 看法/ - 查看.go 行动/ - 行动.go - 注册.go 总体思路是在视图上执行操作...


Go 中何时/如何调用和使用 init()?

在Win 11 Pro机器上使用Go 1.21.4并为Go绑定GTK 3。 对 Go 中何时/如何调用和使用 init() 函数感到困惑。 简单示例代码: 包 GTKView 进口 ( “github...


写入通道的随机结果(Go)

我有以下代码: 函数 writeToClosedBufferedChannel() { ch := make(chan int, 2) ch <- 10 ch <- 20 go func() { fmt.Println("test") ch <- ...


想要找到有效的方法来替换多个switch语句

同时(1){ 计算<< "Enter the number corresponding to your choice:" << "\n"; cout << "1 - Go North\n"; cout << "2 - Go East\n...


GoLang 中何时/如何调用和使用 init()?

在Win 11 Pro机器上使用Go 1.21.4并为Go绑定GTK 3。 对 Go 中何时/如何调用和使用 init() 函数感到困惑。 简单示例代码: 包 GTKView 进口 ( “github...


Go 中存在集合吗? (就像Python一样)

有没有类似Python中Set的Go集合? 备择方案: 在 Go 中是否有一种简单的方法来实现 Sets? 有什么方法可以消除切片中的重复项吗?


Golang go例行运行,但和我想象的不一样

所以我有这个简单的 go 例程代码 func jobX(wg *sync.WaitGroup) { 推迟 wg.Done() 对于我:= 0;我< 5; i++ { fmt.Println("routine X: ", i) if i == 2 { ...


在 CentOS 7 上将 Go 作为守护进程 Web 服务器运行

我正在尝试从 PHP 迁移到 Go,并计划完全放弃 nginx。但我不知道如何在后台运行 go http web 服务器作为守护进程,我也不知道如何自动...


Go 中负整数的模

我正在学习 Go,并且有 Python 背景。 最近,我偶然发现 %(modulo) 运算符的行为与 Python 中相应的运算符不同。完全相反...


如何禁用 Go src 包中的 VSCode 警告?

我刚刚开始我的 Go 之旅,想知道为什么 IDE 中会出现有关 Go 源代码的警告。 有没有简单的方法来禁用这些?为什么 VScode 甚至会报告它们? 我正在使用默认...


如何配置 Goland IDE *不*警告“<Symbol>在此包中重新声明”错误

我正在使用 Goland IDE 编写各种简单的实验性 Go 程序,以提高我对 Go 的理解并进行各种其他练习。 我有一个包含 N 个不同 Go 文件的目录,...


在 Go 中,SyscallConn() 什么时候对常规 *os.File 有用?

我正在阅读一些使用 SyscallConn() (在 *os.File 上定义的函数)的 Go 代码(来自 https://github.com/KarpelesLab/reflink): // reflinkInternal 执行实际的 reflink 操作,而不会...


使用 expo go 从资产文件夹中读取文件

尝试使用 React Native expo go 从资产文件夹中读取文件 从“expo-asset”导入{资产}; 从“expo-file-system”导入*作为文件系统; ... const getFiles = asy...


为什么 goGTK 小部件没有在 init() 函数中初始化? [已关闭]

我在 Windows 11 Pro 机器上使用 Go 1.21.4,并使用 GTK 3 绑定 Go。 简单示例代码: 包 GTKView 进口 ( “github.com/gotk3/gotk3/gtk” ) var mToolbar *gtk.Toolbar 变...


何时何地在 DolphinDB 中添加 go 语句?

go 语句将脚本分成两个块。第一个块中注册的变量只有在 DolphinDB 解析并执行第一个块后才能在第二个块中引用和解析。嗬...


在 Windows 11 上使用 Go 和 gocv for OpenCV 无法找到标头 opencv.hpp,即使设置了 CGO_CXXFLAGS

运行go run时,没有发现。 但是当列出目录时,标题就在那里...... PS C:\Users\phili\SourceCode\goopencv> 设置 CGO_CPPFLAGS="-IC:/Users/phili/SourceCode/opencv/build/include&...


create-react-app的内容没有推送到github

我将 Go 和 React 代码推送到了 github。 Go代码已成功提交,但React代码未成功提交。 React 内容是由 create-react-app 创建的。 文章 ├ 应用程序接口 │ └ main.go └ 客户 └ 反应


Go错误:time.Time未实现driver.Valuer(缺少方法Value)

我正在开发一个 Go 项目,在该项目中,我使用 sqlboiler 从我使用 setup.sh 脚本创建的 SQLite3 数据库生成代码。我遇到了一个似乎无法解决的错误。错误


如何使用 Dio/Flutter(前端)和 Go(后端)向 API 发送正确的请求

我现在正在 Android Studio 中测试它。这是我尝试在 Flutter 前端中使用的 Go 代码: func 登录(c *gin.Context) { // 从请求正文中获取电子邮件和密码 var b...


使用 kafka-go 和循环平衡器时,数据始终进入分区 0

我正在使用 kafka-go 库将消息写入 Kafka。我正在使用循环平衡器,但数据始终进入分区 0。我尝试忽略所有消息的分区字段,但是...


react Native expo go 在 uvicorn https 后无法连接到本地主机

我正在编写一个带有 fastapi 后端的 React Native expo go 应用程序。 这是一个教育应用程序,所以它有图像、视频和 pdf 等。 React Native Image 组件未在 ios 模拟器上加载图像,我...


在 Go 中迭代结构体的字段

基本上,(据我所知)迭代结构体字段值的唯一方法如下: 类型示例结构{ a_number uint32 a_string 字符串 } //... r := &Exa...


Golang elasticsearch TypedClient 聚合如何循环结果

我正在使用 Elastic 的官方 Elasticsearch Go Typed Client 包来查询 uniq 服务名称,为此我构建了一个聚合搜索。查询成功,响应包含Bu...


Flutter:版本解决pubget失败

注意:meta 通过 flutter SDK 中的integration_test 固定到版本 1.10.0。 有关详细信息,请参阅 https://dart.dev/go/sdk-version-pinning。 因为 sdk 中的每个版本的integration_test都依赖于...


azblob.ContainerClient 在 azblob sdk for go 迁移到 v1 后取消定义

输入 func NewFlowlogParse(文件名字符串, 容器 *azblob.ContainerClient, chmsg chan 字符串, bookmark chan 书签, bk_time 字符串) 并且也遇到了与 containerURL、azblob 相同的问题。


nodeJS google-protobuf 中的描述符

你好,我是 gRPC 和 ProtoBuf 的新手 我正在尝试通过 grpc 从用 Go 编写的微服务进行通信。 在某些操作中,要发送请求,我需要设置在


Go vs JavaScript JSON 解析

最近,我需要解析 Chrome Web 浏览器在开发工具中记录事件时生成的 JSON,并从中获取一些计时数据。 Chrome 可以产生相当大量的数据...


Go 程序不等待 scanf 输入

我在c中发现了一些类似的问题,但解决方案是c特定的。包主 这是代码的最小工作示例 导入“fmt” 函数主() { var 模式字符串 ...


减小表格子图之间的大小

我正在尝试将两个表添加到报告中,但表之间的空间存在问题。通过 MRE: 将 pandas 导入为 pd 将plotly.express导入为px 导入plotly.graph_objects作为go ...


尝试通过websocket和client-go与k8s容器交互

当我尝试与k8s容器交互时,我发现我无法获取容器结果,而是获取我输入的内容。哪里有问题? func ExecCommandInPod(ctx context.Context, conn *websocket2.


如何使用 mongo-go-driver 模拟聚合

我试图模拟 mongoDB 函数 Aggregate 但它不断返回命令失败的一般错误。 如果有人感兴趣,有一个关于其他功能以及如何模拟的不错的博客...


在闪存驱动器中写入文件(仅限Android)

是否可以使用flutter将文件保存到闪存驱动器? 我正在使用带有 USB c 端口的随身碟,如下所示: https://www.bestbuy.com/site/sandisk-ultra-dual-drive-go-1tb-usb-type-a-usb-type-c-flash-


go-flags 忽略未知输入

如何使标志忽略未知输入并将其存储以供进一步处理? 我看过一些关于 const IgnoreUnknown 的内容,但我不确定如何使用它,因为当我尝试将其如下所示时


Go 中的 for 循环中缺少 return 语句

我注意到,当我编写以下代码时,编译器会产生缺少返回语句的错误: // 类似的循环在重试模式中有意义 // 但这只是一个简单的例子 功能


VS Code 阻止 Go to 符号在屏幕中央显示结果

当使用“转到编辑器中的符号...”或“转到工作区中的符号...”VS Code 时,所选符号位于屏幕中央。有没有办法将符号放在屏幕顶部? 我是


DDD & Clean Architecture:为什么不在应用层定义存储库?

我正在使用带有 Clean Architecture 和 DDD 的 Go。我不喜欢我需要在域层定义我的存储库。最后是应用程序层定义了它想要的内容,例如作为


有没有办法确定使用`flag.VisitAll`时是否设置了标志?

我正在使用 go 的原生“flag”包。 它内置了使用 flag.VisitAll 访问所有当前定义的标志的能力。 我正在尝试构建一个片段来尝试获取该值......


将图像从 Google 表单插入 Google 幻灯片

我正在尝试制作一份根据谷歌表单答案生成的报告。我找到了一些方法来填充文本,但问题是我需要在 go 的报告中添加来自 google 表单答案的图像...


如何判断Go argparse返回的*os.File是否已初始化

我有一个使用 argparse 的 golang 项目,它接受不需要的文件作为参数。该文件是通过文件标志检索的,该标志可能正在为文件分配一些内存。代码 : 包主 导入...


如何在Expo应用程序中集成应用内购买?

我有一个与 Expo Go 的应用内购买相关的问题。 我希望将支付功能集成到我的移动应用程序中,以允许用户解锁优质内容。 我注意到没有图书馆 Comp...


使用 mongo-go-driver,如何有效地从 WriteError 中检索重复的字段名称?

我的收藏中有三个唯一的索引。当用户不小心插入了字段 B 中重复的数据时,我如何知道重复项来自字段 B? 关于唯一索引约束


有没有办法使用 Go 的 `flag` 包捕获所有无法识别的命令行标志?

我目前正在围绕 git diff 编写一个包装器,如果将任何与我的程序不直接相关的标志传递给 git diff,那就太好了。例如: 运行我的工具


为什么我的 expo 应用程序无法在 codeandbox 中运行?我无法运行

我试图在codesandbox中在线运行我的项目,但是当我打开服务器时,我无法在智能手机中连接Expo Go,它说网络连接超时错误。 我通常知道这个错误


什么阻止了我在 Go 中使用 pgx 的函数调用?

我正在编写一项服务,其中我的学生来自 PostgreSQL 的 UUID。我选择pgx作为驱动程序。我已经完全调试了我的程序,并且在我调用 row.Scan 后似乎没有调用任何内容。我的康...


如何将React项目用于html网站的整个子路由

我有一个现有的 HTML 页面和一个 React 项目。如何连接它们? 首页.html 进入React页面 应用程序.js 我有一个现有的 HTML 页面和一个 React 项目。如何连接它们? home.html <button>go to React page</button> 应用程序.js <BrowserRouter> <Routes> <Route path="/mypage" element={<Mypage />}> </Routes> </BrowserRouter> 我想点击“转到React页面”按钮,我可以导航到"/mypage"? 该按钮应实现对 "/mypage" URL 的导航操作,该 URL 最好为您的 React 应用程序提供服务。 home.html 更新按钮以包含重定向到子路线的点击处理程序 <button onclick="navigateToReactApp()">go to React page</button> const navigateToReactApp = () => { window.location.href = "/mypage"; // check the path correctness }; 或者使用锚标记,这在语义上可能更正确。 <a href="/mypage">go to React page</a> App.js 通过设置 "/mypage" 属性,更新路由器以使所有路由/链接/等从托管/服务应用程序的 basename relative 工作。 <BrowserRouter basename="/mypage"> <Routes> <Route path="/" element={<Mypage />}> </Routes> </BrowserRouter>


我们可以使用AWS S3 sdk以编程方式连接MinIO(本地运行)吗?如果是的话,怎么办?

我正在尝试连接在 docker 中运行的本地 MinIO 实例。我编写了一个简单的 Go 程序来完成这项工作。参见以下内容: 包主 进口 ( “字节” “上下文&qu...


go:调用接口上的方法会创建新副本作为类型断言的一部分,需要断言指针的类型才能从指针调用方法

所以我有一个为看板实现的结构,这里有一些与问题相关的结构: 类型菜单结构{ 项目 dll.DLL } 类型项目结构{ 标题字符串 ...


gofpdf - 居中对齐文本之间的粗体文本

我想在居中对齐的文本之间渲染文本。 这就是我尝试过的 html := pdf.HTMLBasicNew() _, lineHt := pdf.GetFontSize() html.Write(lineHt, "我的名字是Bot<... 我想在居中对齐的文本之间渲染文本。 这是我尝试过的 html := pdf.HTMLBasicNew() _, lineHt := pdf.GetFontSize() html.Write(lineHt, "<center>My name is <b>Bot<b></center>") 但只有 My name is 居中对齐,而不是整个文本 My name is Bot 如何通过 gofpdf 实现这一目标 或者 go 中的任何其他包可以实现此目的? 我创建了一个简单的 pdf 生成程序,并将代码片段插入其中,但我没有遇到任何问题,整个文本My name is Bot对齐到中心。下面是我编写的代码: package main import ( "github.com/jung-kurt/gofpdf" ) func main() { pdf := gofpdf.New("P", "mm", "A4", "") pdf.AddPage() pdf.SetFont("Courier", "", 16) html := pdf.HTMLBasicNew() _, lineHt := pdf.GetFontSize() html.Write(lineHt, "<center>My name is <b>Bot<b></center>") err := pdf.OutputFileAndClose("myFile2.pdf") if err != nil { panic(err) } } 我刚刚遇到了完全相同的问题,并且它并没有一致地发生......但我所看到的是,由于 HTML 标记生成器的工作方式, id 绝对有意义它的发生。它基本上调用 WriteAligned 与文本的第一部分,然后单独查看第二部分(在 bs 之间)并在已经写入第一部分之后写入。 我目前没有解决方案,但我也在寻找解决方案


© www.soinside.com 2019 - 2024. All rights reserved.