jjzjj

time-format

全部标签

go - 由于 CLOSE_WAIT 和 TIME_WAIT 套接字上升导致代理服务器不稳定

我有一个用golang编写的socks5代理服务器。守护进程正在监听从15000到25000的10000个端口,所以这是一个代理列表。最近我们开始对一些客户进行测试,最终我们在其中5000个端口上获得了大约500rps。这不是我想的那么多,但我立即指出了一堆问题。服务器是Ubuntu18,8核,32G内存,1Gb网络。我一直观察到几乎800%的CPU,并且CLOSE_WAIT和TIME_WAIT套接字状态的数量不断增加。我仔细调查了大约一个星期的代码,但没有指出任何问题,所有连接都在关闭。pprof说这都是关于系统调用的,更准确地说是套接字读取。这里的ReadAtLeast是读取soc

unit-testing - 有没有一种简单的方法可以在测试期间全局清除 time.Now() ?

我们的部分代码是时间敏感的,我们需要能够保留一些东西,然后在30-60秒内释放它,我们可以执行time.Sleep(60*time.Second)我刚刚实现了时间接口(interface),在测试期间使用了时间接口(interface)的stub实现,类似于thisgolang-nutsdiscussion.但是,time.Now()在多个站点中被调用,这意味着我们需要传递一个变量来跟踪我们实际睡了多少时间。我想知道是否有另一种方法可以在全局范围内清除time.Now()。也许进行系统调用以更改系统时钟?也许我们可以编写自己的时间包,它基本上环绕时间包但允许我们更改它?我们目前的实现效

go - 关于 "cannot use time.Now() (type time.Time) as type "

使用以下类型定义获取“不能使用time.Now()(类型time.Time)作为字段值中的类型typetime”import("time")typetypetimetime.TimetypeFriendsstruct{NamestringBirthdaytypetime}John:=Friends{Name:"John",Birthday:time.Now()}如果我用直接类型形式(time.Time)替换typetime,就没有问题。GO的规则背后是什么??:> 最佳答案 time.Time和typetime是不同的类型(尽管它们

戈朗 : Zip Package Modified Time Defaults to 30 November 1979, 00:00

如何将zip文件的修改时间更改为time.Now()?当我创建一个zip文件时,我得到的修改时间是1979年11月30日00:00。那么有没有简单的方法可以将修改时间设置为现在呢? 最佳答案 我发现这个函数可以满足我的需求:funcFileInfoHeader(fios.FileInfo)(*FileHeader,error)。这将获取一个输入数据文件并创建一个部分填充的FileHeader。 关于戈朗:ZipPackageModifiedTimeDefaultsto30November

design-patterns - 断路器设计模式 sleep vs time.AfterFunc

我正在尝试创建一个Circuitbreakerpattern,我想执行命令exec.Command如果失败,在X定义的时间内重试,出于测试目的,我正在做这样的事情来测试time.AfterFunc:packagemainimport("fmt""time")funcmyFunc()error{fori:=1;itime.AfterFunc适用于上面的代码,但不适用于下面的示例,我不得不将其替换为sleep以实现预期的结果:packagemainimport("fmt""os/exec""time")funcExec(donechan./sleep的内容:#!/bin/shsleep3为

postgresql - getsockopt : connection timed out

我将我的项目从pythontornado重写为go(使用iris框架)。基本功能测试正常。我在高并发下测试的时候,app总是停一会,然后报错:(dialtcp192.168.1.229:6543:getsockopt:connectiontimedout)6543端口是与pgbouncer一起使用的postgresql端口...pgbouncer和postgresl进程运行正常。另外,我发现memcache连接有时会超时(memcache进程还在工作)。这是否因为连接太多而发生?或者有些连接不是准时关门?我怎样才能避免这个问题? 最佳答案

go - 为什么 int64(1.1*float64(time.Minute)) 是错误而 int64(0.5*float64(time.Minute)) 不在 golang 1.9.2 中?

我在golang1.9.2中遇到了一个非常奇怪的错误:当我尝试编写int64(1.1*float64(time.Minute))时显示错误。编译器说常量被截断为整数。但是当我将1.1更改为其他float(如1.20.51.7)时,它会编译!而且当我这样写的时候它也可以编译:value:=1.1*float64(time.Minute)fmt.Println(int64(value))这是go本身的一些错误吗?我在ubuntu14.04x64上运行go 最佳答案 常量1.1*float64(time.Minute)有小数部分(值大约为

ssl - RabbitMQ TLS tls_connection :format_status/2 crashed

我正在尝试使用Go建立一个简单的TLS连接,RabbitMQ在尝试创建启用了TLS的连接(Go客户端)时报告了这个问题:rabbitmq_1|2018-04-1613:37:54.146[error]**Statemachineterminatingrabbitmq_1|**Lastevent={{call,{,#Ref}},{new_user,}}rabbitmq_1|**Whenserverstate={error,"tls_connection:format_status/2crashed"}rabbitmq_1|**Reasonfortermination=error:func

string - 将 time.Time 转换为字符串

我正在尝试将一些值从我的数据库添加到Go中的[]string。其中一些是时间戳。我得到错误:cannotuseU.Created_date(typetime.Time)astypestringinarrayelement我可以将time.Time转换为string吗?typeUsersSessionstruct{UseridintTimestamptime.TimeCreated_datetime.Time}typeUsersstruct{NamestringEmailstringCountrystringCreated_datetime.TimeIdintHashstringIPst

visual-studio-code - 如何在 VSCode 中从 "format on save"中排除文件扩展名和语言?

目前在VSCode设置中,您可以按如下方式配置保存格式:"editor.formatOnSave":true我想排除一些文件扩展名,例如只格式化JavaScript而不是HTML文件。 最佳答案 您可以使用languagespecificsettings仅针对特定语言启用它,例如JavaScript:"[javascript]":{"editor.formatOnSave":true}要针对特定​​语言禁用它,您可以将全局默认值切换为true并将其与特定语言的false结合使用:"editor.formatOnSave":true"