草庐IT

@Async失效情况

全部标签

go - Go例程中的 channel 使用情况

我有一个golang应用程序,它在数据库中存储url(作为查询参数提供)。使用以下方法存储URL:funcAddArticle(db*sql.DB)http.HandlerFunc{returnfunc(whttp.ResponseWriter,r*http.Request){queryParam:=r.FormValue("url")insertedId:=dao.SaveArticle(db,queryParam)glog.Infof("addhostname%s,id:%d",getHostnameFromUrl(queryParam),insertedId)//startrou

go - 从 golang 或 core.async 中的输出 channel 批处理项目

我有一个将数据从kafka索引到elasticsearch的用例。Elasticsearch有一个批量API,它将多条消息捆绑在一个API调用中以进行索引。这比对每条消息逐条索引要高效得多。我正在使用Clojure来执行此操作。自然地,我想使用core.async,使用来自kafka的消息并输入到channel中,缓冲一段时间或当channel有足够的消息时,然后在一个elasticsearch批量API调用中为它们建立索引。问题是只要有一条消息传入,channel的输出就会发出信号。一个简单的解决方案是在阻塞队列中缓冲来自channel输出的传入消息,但这听起来似乎违背了使用chan

SQLBoiler ORM,如何在没有绑定(bind)的情况下执行原始查询?

我在这里试用这个ORM生成器https://github.com/vattle/sqlboiler我正在尝试使用boil.SQL执行原始查询,我可以在他们的文档中看到这一点。但是当我执行boil.SQL().时,我发现唯一可用的方法是绑定(bind)。有没有一种方法可以在不绑定(bind)到对象的情况下执行查询?因为我不需要返回任何结果。谢谢。 最佳答案 boil.SQL()返回一个*boil.Query。如果您不关心结果,可以将其传递给boil.ExecQuery()。q:=boil.SQL("executefoo()")_,er

mongodb - 在出现错误的情况下重新创建 mgo session (读取 tcp 127.0.0.1 :46954->127. 0.0.1:27017: i/o 超时)

我想知道如何使用mgo在Go中管理MongoDBsession,尤其是关于如何正确确保session已关闭以及如何对写入失败使用react。我已阅读以下内容:BestpracticetomaintainamgosessionShouldIcopysessionforeachoperationinmgo?仍然不能将其应用于我的情况。我有两个goroutine,它们将事件一个接一个地存储到MongoDB中,共享同一个*mgo.Session,两者看起来基本上如下所示:funcstoreEvents(session*mgo.Session){session_copy:=session.Cop

go - 如何在 go 以外的文件中查找函数使用情况?

我正在使用一种自定义语言(antha),它会被转译。Antha脚本文件以.an结尾并被转译为.go我在.go文件中有一个函数,我想在.an文件中找到它的用法。如何更改Gogland的“查找用法”功能以包含.an文件?目前它只在.go转译脚本中搜索。 最佳答案 需要创建/安装理解antha的语言插件才能使该功能正常工作,否则IDE无法理解如何使该功能正常工作。如果您想了解IntelliJ平台的插件开发,您可以starthere. 关于go-如何在go以外的文件中查找函数使用情况?,我们在S

string - 有什么方法可以在打印语句中没有 7、-48 .... 等的情况下以漂亮的方式显示输出?

代码如下fmt.Printf("%7s:%-48s\n","IQN",annotations.Iqn)fmt.Printf("%7s:%-16s\n","Volume",args[0])fmt.Printf("%7s:%-15s\n","Portal",annotations.TargetPortal)fmt.Printf("%7s:%-6s\n\n","Size",annotations.VolSize) 最佳答案 没有,没有。但是您可以编写一个实用函数来自动执行所有这些操作,您需要做的就是传递您想要pretty-print的键值

go - 如何在 k8s 集群中使用 heapster 获取文件系统/使用情况

如何在k8s集群中使用heapster获取“文件系统/使用情况”?我使用heapstermonitork8s,但是我无法获取节点磁盘使用情况。有人帮忙吗? 最佳答案 curl-L10.233.8.12:/api/v1/model/nodes/node1/metrics/filesystem/usage?labels="resource_id:/"ws.Route(ws.GET("/nodes/{node-name}/metrics/{metric-name:*}").至(指标.InstrumentRouteFunc(“nodeMet

go - 如何在不修改堆栈的情况下将表的内容转储到堆栈中?

首先,我非常喜欢Lua。从字面上看是从昨天晚上开始的。顺便说一句,我正在使用golua据我了解,它非常接近地反射(reflect)了通常的CAPI。因此,C中的任何建议也可能适用于我的情况。总之,正题。我(自然地)很早就开始了将Lua集成到Go应用程序中的实验,因此正在测试各种方法和做事的方式。我要做的第一件事就是调用一个带有表(基于JSON对象)的Lua函数,对表执行一些操作,然后返回它。该表可能包含嵌套表。脚本部分在这里不是问题,我想我已经涵盖了这一点。但是,我想查看堆栈内部以验证我传递给函数的内容是否正确。同样也可以查看从Lua返回的值。但是如何呢?这一位被占用fromthere

c - 如何在没有定义 main() 的情况下让 cgo 构建目标文件?

我有一个完全用C编写的项目。我只需要调用一个必须用GO编写的函数。因此,我使用cgo构建C文件,然后我想使用生成的目标文件与我的主C项目链接。假设我有一个文件foo.go和一个函数funcHelloWorld()。我希望从我的C代码中执行此函数。所以我做了以下步骤#gotoolcgofoo.go#cd_obj&&gcc-c*.o现在我有两个文件:#_cgo_export.o_cgo_main.o但是,main()以某种方式在那里定义,我无法将这些目标文件与我的主项目(多个主项目)链接。我如何让cgo不放入虚拟main?还是我这样做完全错了?编辑我需要入口点在C中。其他人发布的建议要求入

go - 在启用 pkg/profile 的情况下运行时如何获取示例?

我的主block中有以下内容:funcmain(){deferprofile.Start().Stop()fmt.Println("runningversion",version,"builton",date)fmt.Println()cmd.Execute()time.Sleep(2*time.Second)}其中cmd是一个cobra子命令。我执行gobuild,然后运行二进制文件。我可以看到它生成了一个pprof文件:2018/09/1318:43:26profile:cpuprofilingenabled,/tmp/profile705487093/cpu.pprof...ou