草庐IT

web-forms-for-marketers

全部标签

timer - 如何从 Web 服务器重启(或代码刷新/升级)中恢复 Go 计时器?

例如,考虑一个Web服务,用户可以在其中发出API请求以在特定的预定时间启动任务。任务定义和计划时间保存在数据库中。我想出的第一种方法是启动一个Go计时器并等待计时器在Goroutine中到期(不阻止请求)。这个goroutine在时间到期后,还会触发另一个API请求以开始执行任务。现在重新部署此服务时会出现问题。对于零停机部署,我使用Einhorn与goji.代码重新加载后,显然定时器goroutine和timer-expiration-handlergoroutine都死了。代码重新加载后有什么方法可以恢复Go定时器吗?我正在努力解决的另一个问题是允许用户中断计时器(一旦启动)。G

concurrency - 大量数据竞赛 Web 应用程序

我正在编写一个网络应用程序。传入的请求将首先通过中间件。目前,我添加了两个中间件session和security。遍历中间件后,它将执行请求的处理程序。session和安全中间件将在它们自己的goroutine中执行。当我测试时,我有很多数据竞争,特别是在中间件部分WARNING:DATARACEWritebygoroutine18:runtime.mapassign1()c:/go/src/runtime/hashmap.go:383+0x0net/textproto.MIMEHeader.Set()c:/go/src/net/textproto/header.go:22+0xf4n

web-applications - `alice` 未调用中间件

为什么这里只调用了H1的ServeHTTP方法,而H2和H3似乎是被忽略了?alice似乎是一个不错的中间件链接,在这里我尝试将它与httprouter一起使用,但只有外部/最后一个中间件被调用:packagemainimport("fmt""github.com/julienschmidt/httprouter""github.com/justinas/alice""net/http""log""time")funcmain(){fmt.Println("started",time.Now())c:=alice.New(S1,S2,S3).Then(nil)router:=httpr

forms - Golang html GET 表单方法值未被填充

我有一个服务器代码和一个用于搜索字符串的html表单。服务器处理程序获取字符串并搜索相同的字符串。但我在这里面临两个问题。1.即使我将其设为POST,方法名称也始终是GET。2.我无法在服务器端接收表单值服务器代码在这里,packagemainimport("flag""fmt""html/template""io/ioutil""log""net""net/http""regexp"//"bytes")var(addr=flag.Bool("addr",false,"findopenaddressandprinttofinal-port.txt"))typePagestruct{Ti

go - 无法使用 Docker 容器自动运行简单的 Go Web 服务器(func (*Template) Execute)

所以我试图在CoreOS上的docker容器中自动运行一个简单的“helloworld”网络服务器。但是当应用程序尝试执行HTML模板时出现错误。这是有问题的代码:funcGateHandler(whttp.ResponseWriter,r*http.Request){fmt.Println("EnteredtheGateHandler.")t,_:=template.ParseFiles("templates/helloworld.html")fmt.Println("PassedtheParseFiles.")err:=t.Execute(w,nil)fmt.Println("Pa

用于 Web 应用程序的 node.js golang 复合架构

我目前正在构建一个将使用node.js进行基本路由的网络应用程序。该应用程序的某些部分需要更多处理器,我想对这些部分使用golang。但是,我不确定在两种语言之间安装和通信的最佳方式。我正在使用AmazonElasticBeanstalk进行初始测试,因此任何细节都可以针对该平台。本质上归结为以下两个问题:1)如何在AmazonEC2上同时安装node.js和golangdocker镜像?亚马逊有一个或另一个的指南,但没有两个。2)将处理器密集型任务从node.js卸载到golang代码库的最佳方法是什么(我可以想象RPC,或者只是在某个本地主机端口上运行golang,但我对这种类型的

mysql - 将数据库集成到 Go Web 应用程序中的最佳方式

我刚开始使用Go开发Web应用程序。我正在寻找将MySQL数据库集成到我的Web应用程序中的最佳方法。我正在考虑做这样的事情:typeContextstruct{Database*sql.DB}//SomedatabasemethodslikeClose()andQuery()forContextstructhere在我的web应用程序的主要功能中,我会有这样的东西:db:=sql.Open(...)ctx:=Context{db}然后我会将我的Context结构传递给需要数据库连接的各种处理程序。这是一个好的设计决策还是有更好的方法将SQL数据库集成到我的Web应用程序中?

json - for 循环上的 goroutine channel

我的main函数从文件中读取json,将其解码为结构,将其转换为另一种结构类型,然后通过stdout输出格式化的JSON。我正在尝试实现goroutines和channel来为我的for循环添加并发。funcmain(){muvMap:=map[string]string{"male":"M","female":"F"}fileA,err:=os.Open("serviceAfileultimate.json")iferr!=nil{panic(err)}deferfileA.Close()data:=make([]byte,10000)count,err:=fileA.Read(da

amazon-web-services - 使用非默认 VPC (aws-sdk-go) 时无法调用 ec2.AuthorizeSecurityGroupIngressInput

运行下面的代码时,出现错误信息InvalidGroup.NotFoundThesecuritygroup'OddName'doesnotexistindefaultVPC'vpc-2468'这是正确的VPC名称,但不是查看sg-1357时会看到的VPCID。这是一个请求错误,而不是aws错误,所以它至少走到了这一步。从命令行这有效:awsec2authorize-security-group-ingress--group-idsg-1357--cidr127.0.0.1/32--protocoltcp--port443我可以确认ip已添加。修改sdkongithub中的示例代码,以下会

mongodb - Mgo(mongo for go)支持物化路径?

使用BSON和Mgo(用于go的丰富mongodb驱动程序),一种方法将如何实现物化路径?物化路径已记录here在mongo文档上。物化路径旨在为多层嵌套数据提供树状结构。使用纯javascript,命令如下(来自documentation):db.categories.insert({_id:"Books",path:null})db.categories.insert({_id:"Programming",path:",Books,"})db.categories.insert({_id:"Databases",path:",Books,Programming,"})db.cate