草庐IT

延迟任务

全部标签

javascript - Go 语言构建器/任务运行器

我正在创建一个小型SPA框架(可能是一个全功能框架)。前端基于原生javascript(包括ES6功能和网络组件)。后端是用Go编写的。这是我的需求列表,我想自动执行:缩小我的javascript文件将ES6代码转译为ES5(使用类似babel.js的东西)Polyfill我的网络组件有没有不使用node.js就可以实现的方法?是否已经有go包可以让这3件事发生,并且使用“简单”的grunt/gulp类方式?我想避免安装node.js、npm、bower...等。在我(不是很secret)的观点中,使用那些node.js工具使我的应用程序变得一团糟,给我的应用程序文件夹增加了很多不必要

go - 调用 log.Fatalln 时是否调用延迟函数?

db,err:=sql.Open("postgres","…")iferr!=nil{log.Fatalln(err)}deferdb.Close()tpl,err:=template.ParseGlob("")iferr!=nil{log.Fatalln(err)}如果template.ParseGlob("")返回错误,db.Close()是否仍在调用? 最佳答案 不,延迟函数没有运行。这是对log.Fatal的描述:FatalisequivalenttoPrint()followedbyacalltoos.Exit(1).lo

gocron 创建任务的多个实例

我在使用这个包的脚本中遇到问题:"github.com/jasonlvhit/gocron"我在找不到错误后写了这个小测试脚本,结果是按预期执行的cronjobs数量是预期的两倍:funcmain(){fori:=0;i运行它给了我这个输出:——▶gorun*.gostillrunning...0stillrunning...0stillrunning...1stillrunning...1stillrunning...2stillrunning...2stillrunning...0stillrunning...1stillrunning...2stopthis有谁知道如何在不复制的

go - 立即评估延迟调用的参数

在ATourofGo写成:Thedeferredcall'sargumentsareevaluatedimmediately,butthefunctioncallisnotexecuteduntilthesurroundingfunctionreturns.我很难理解引文的第一部分。什么叫立马?funcdef(sstring)func(){fmt.Println("tierup")fmt.Println(s)returnfunc(){fmt.Println("cleanup")}}funcmain(){deferdef("deferedline")()fmt.Println("main

networking - 以编程方式模拟数据包丢失和延迟

我有一个通过rpc公开其服务的服务器和一个使用这些服务的客户端。为了测试此设置,我需要引入数据包丢失和延迟。我在stackoverflow上发现了一些技术,如tc、修改iptables等,但它们都需要root密码来模拟丢包。有没有一种方法可以在不需要root密码的情况下模拟这些数据包丢失。注意:代码是用GO编程语言编写的 最佳答案 一种方法是隔离您的数据包处理代码,并创建它的模拟版本(或ifdef'd部分),用于测试,以您选择的方式行为不当。这可能足以满足您的需求。对于商业或关键应用程序的工业强度测试,您至少需要一个有root密码的

logging - 在 log.SetOutput(ioutil.Discard) 之后延迟 log.SetOutput(os.Stdout)

在go-nsq库(https://github.com/bitly/go-nsq/blob/master/writer_test.go#L38)中,我找到了以下代码:log.SetOutput(ioutil.Discard)deferlog.SetOutput(os.Stdout)为什么作者在丢弃日志后将日志记录延迟到标准输出? 最佳答案 log.SetOutput(ioutil.Discard)语句更改标准记录器输出目的地。deferlog.SetOutput(os.Stdout)语句尝试在函数结束时将输出目标重置回其初始值。但是

concurrency - 潜在递归任务的工作池(即,每个作业都可以排队其他作业)

我正在编写一个应用程序,用户可以从多个“作业”(实际上是URL)开始。在开始(主例程)时,我将这些URL添加到队列中,然后启动x个处理这些URL的goroutines。在特殊情况下,URL指向的资源可能包含更多必须添加到队列中的URL。这3名worker正在等待新工作的到来并处理它们。问题是:一旦每个worker都在等待工作(并且没有人在生产),worker应该完全停止。因此,要么所有人都工作,要么没有人工作。我当前的实现看起来像这样,但我认为它并不优雅。不幸的是,我想不出一个不包含竞争条件的更好方法,而且我不完全确定这个实现是否真的按预期工作:varqueue//fromsomewh

loops - 将缓动应用于循环延迟

简单来说,我正在尝试弄清楚如何将缓动应用于循环延迟。for(i:=0;i如您所见,这是非常基础的。假设我想在3秒内完成整个循环(作业完成时间可以忽略不计,t)。使用Penner方程为每次迭代计算适当的缓和延迟的正确方法是什么?所以,有了这个函数,要模拟从零速度开始的加速度,我应该如何使用t为循环的每次迭代设置参数以创建适当的sleep延迟?funceaseInQuad(tfloat64){returnmath.Pow(t,2)}如果你能帮助我,我将不胜感激。方程式到目前为止还不是问题,但如何在我的用例中使用它们。我的问题一开始看起来像这样:ApplyingeasingtosetTime

go - GoLang 中的 HouseRobber 编程任务中的错误

问题陈述相当简单:Givenalistofintegersreturnthemaximumsumofnonadjacentelements..例如houseRobber([5,0,0,5])=>10和houseRobber([2,1,2])=>4OnesolutionIdecidedonhas2parts:生成所有可行的索引列表(例如[5,0,0,5]=>[[0,2],[0,3],[1,3]])确定给定索引集的最大元素总和。(例如[5,0,0,5],[[0,2],[0,3],[1,3]]=>10)所以我开始实现我的解决方案。我已将脚本包设为主要包并包含一个我自己的失败测试,​​以便任何

c# - 来自 golang 和 c# 的 elixir 函数的并行或异步任务

我正在和Phoenix一起学习Elixir。我很容易地构建了一些RESTAPI服务器,但是我还需要实现一个要求。我需要能够执行并行或异步任务以从后端调用/执行某些API,并将这些结果放入JSON响应中。这就是我从Go和C#中大致实现它的方式//GolanguserCount:=make(chanint)usersList:=make(chan[]Users)gogetAggregateUserCounts(userCount)gogetGetUsersList(usersList)//dootherheavytasksfromherehttpJsonResponse(map[strin