草庐IT

mongodb - 在具有不同数据库的情况下在 Golang 中运行 cron

我正在从事一个基于SaaS的项目,商家可以订阅该项目来建立他们的在线商店。项目概览我正在使用Golang(后端)、Mongodb数据库服务和Angular4(前端)构建系统。我有多个商家可以开设他们的商店。每个商家都有自己的url(其公司名称作为url中的子域)来连接到他的数据库。对于路由,我在后端使用Golang的Gin框架。问题我想为商家特定的数据库运行cron作业。在这些cron作业中,有一些操作需要连接到数据库。但是在我的路由中,在调用API的路由之前,不会设置数据库。最终,cron无法使用正确的数据运行。代码cron.gopackagecronimport("gopkg.in

go - Cron Job 不会使用 TimeZone 触发

我一直在用时区的cron作业做一些测试。我的目标是为每个时区设置1个cron作业,以便它可以独立于服务器位置运行。packagemainimport("fmt""github.com/robfig/cron""os""os/signal""time")funchelloWorld(){fmt.Println("helloworld")}funcmain(){s,err1:=cron.Parse("2615***")fmt.Println(err1)l,err:=time.LoadLocation("Asia/Tokyo")fmt.Println(err)c:=cron.NewWithL

go - 如何为不同的时区设置多个 cron

按照我的问题aboutcronjobandtimezone我想知道在不同时区安排事情的最佳方式是什么:运行时间:东京时间16点30分然后另一个运行时间:伦敦时间上午10点另一个在纽约时间下午3点,等等。我有多个cron作业,就像我需要运行的那些作业一样,我上一篇文章中的代码似乎没有削减它。我不知道什么是继续进行的最佳方式,因为它应该独立于服务器时间,所以使用UTC时间并不能真正削减它。packagemainimport("fmt""github.com/robfig/cron""os""os/signal""time")funchelloWorld(){fmt.Println("hel

google-app-engine - 如何在生产中部署 cron 脚本?

我想编写一个脚本来安排一天中的各种事情。不幸的是,它每天会执行>100个不同的任务,接近500个,将来可能会达到10,000个。所有任务都是独立的,因为您可以将我的脚本视为为注册并希望我为他们安排任务的最终用户提供的服务。因此,如果有5人注册并且A人希望我在上午9点向他们发送电子邮件,这将不同于B人可能希望我在晚上10:30查询API等。现在,从概念上讲,我计划建立一个数据库,告诉我每个人的任务是什么,以及他们要求安排该任务的时间和频率。每天一次,我将从我的数据库中获取这些数据,这样我就有了当天需要执行的所有任务的最新记录通过循环运行它们我可以创建可以为每个任务执行计时器或代码的cha

go - Go 中的 CRON 作业未按预期运行

这是我的代码:packagemainimport("fmt""github.com/robfig/cron")funcmain(){c:=cron.New()c.AddFunc("@every3m",func(){fmt.Println("Every3min")})c.Start()fmt.Println("Done")}问题是当我使用gorun运行代码时,它只是打印Done然后退出。我只是想每3分钟打印一次函数。 最佳答案 扩展@Flimzy的答案,如果您想让您的程序坐下来什么都不做,只需添加select{}即可你的代码应该是这样

go - 如何运行多步 cron 作业,但仍然能够手动执行单个步骤?

我在Go中有一个包含步骤A、B和C的数据管道。目前这些是三个二进制文件。他们共享同一个数据库,但写入不同的表。在本地开发时,我一直在运行./a&&./b&&./c。我希望将此管道部署到我们的Kubernetes集群。我希望A->B->C每天运行一次,但有时(为了调试等)我可能只想单独手动运行A或B或C。是否有一种在Kubernetes中实现此目的的简单方法?我没有找到很多这方面的资源,所以这可能表明我的应用程序设计存在问题? 最佳答案 创建一个包含所有三个二进制文件的docker镜像和一个运行所有三个二进制文件的包装器脚本。然后部署

go - 如何通过遍历列表来创建多个 CRON 函数

import("fmt""gopkg.in/robfig/cron.v3")functest(xint){fmt.Println("acessesingdevice",x)}funcmain(){c:=cron.New()x:=make(chanbool)devices:=[10]int{1,2,3,4,5,6,7,8,9,10}for_,va:=rangedevices{c.AddFunc("@every30s",func(){test(va)})}c.Start()上述程序得到的输出:访问网关13访问网关13访问网关13访问网关13访问网关13访问网关13访问网关13访问网关13访

google-app-engine - Google appengine,运行繁重的数据存储写入cron作业的最便宜的方式?

我有一个用Go编写的Googleappengine应用程序,它有一个每天凌晨3点运行一次的cron进程。这个过程会查看当天我的数据发生的所有变化,并存储一些关于发生的事情的元数据。我的用户可以运行有关此元数据的报告,以查看几个月内发生的趋势。该进程每晚执行大约10-20百万次数据存储写入。一切正常,但自从我开始运行它后,我注意到我每月从Google支付的账单显着增加(从每月50美元左右增加到每月400美元左右)。我刚刚设置了一个运行它的非常基本的任务队列,我根本没有更改默认设置。有没有更好的方法可以让我在晚上运行这个过程来省钱?我从来没有弄乱过后端(现在已经折旧)或模块api,而且我知

c# - 每两周 Quartz.net cron 触发表达式

我需要创建在每两个星期的星期五运行的cron触发器03017?*FRI#2*是我设法创建的,但它生成的计划仅在每个月的第二个星期五运行。是否可以使用CronExpression实现我需要的功能?我听说quartz.net2.x中有新的触发器类型,但找不到任何好的示例来在XML配置文件中配置它。我的意思是CalendarIntervalTrigger任何人都可以帮助我如何获得预期的结果吗?更新vartrigger=TriggerBuilder.Create().WithIdentity("InvoiceGenerator","InvoiceGenerator").StartNow().W

ruby-on-rails - Windows 上的 rails 应用程序中是否有类似 cron 的东西?

我尝试在我的应用程序中使用cron每周发送邮件,但我认为它在Windows上不起作用。有人知道在Windows上运行的与cron等效的解决方案吗? 最佳答案 Windows相当于Unix的cron是一个“任务计划程序”。您可以在那里配置您的定期任务。纯Ruby解决方案如果您想要一个纯Ruby解决方案,请查看:rufus-scheduler-它是Windowscrongem。crono-它是一个in-Railscron调度器,所以它应该可以在任何地方工作。Webservices-有很多免费的在线服务可以在特定时间段内向给定的URL发出