Golang - 如何在特定时间执行函数

2024-04-26

我需要在一天中的特定时间运行一个函数(例如 0010、0610、1210、1810)。我目前的方法使用自动收报机for _ = range time.Tick(21600 * time.Second)我以这些时间间隔之一(例如 1210)手动启动该程序。这显然是次优的。

对此最好的解决方案是什么?我想过每 60 秒运行一次自动收报机,然后检查时间是否与其中一个时间间隔匹配,但这似乎不太优雅。


您真正需要的是调度程序,因此您的选择是:

  • 将您的程序限制为您想要在每个时间间隔执行的操作,但使用现有的调度程序来进行调度 - 一个简单的示例是使用 cron 作业(或对于 Windows,任务调度程序)根据所需的时间表启动您的程序

  • 将您的程序本身变成一个调度程序,它可以按计划正确调用所需的函数。理想情况下,您的程序需要作为守护进程(Windows 上的服务)运行,或者启动一次并以某种方式一直运行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Golang - 如何在特定时间执行函数 的相关文章

  • 为什么我无法导入“内置”pkg?

    cat test go package main import builtin func main return go run test go can t find import builtin 我只是好奇 因为该文件存在并且已正确打包 但
  • 验证 hh:mm:ss

    我是 C net 的新手 我想要验证仅采用 hh mm ss 格式的文本框 下面是我的代码及其工作原理 它给出的输出为 true 23 45 45 仅作为示例 对于 23 45 45 也为 true 仅作为示例 现在我想要验证 23 45
  • 从私钥中提取公钥

    我尝试通过以下方式以编程方式完成步骤 2 1 openssl genrsa out signing pem 2048 2 openssl rsa in signing pem outform PEM pubout out signing p
  • 如何转换存储为两列(开始、结束)的日期范围以创建新行索引并填充值[重复]

    这个问题在这里已经有答案了 我想将存储为两列 开始 结束 值的日期范围转换为仅包含日期和值的两个新列 my data id end start value 1 4421 2014 01 01 2014 01 03 10 2 4421 201
  • 尝试创建问题时 GitHub API 422 出现意外错误响应

    当向 GitHub API V3 发布问题时 我收到了意外的响应 即422不可处理的实体 但是 错误的详细信息是针对搜索端点的 而不是针对 POST 创建端点的 message 验证失败 errors resource 搜索 field q
  • 如何让供应商与 Google App Engine 配合使用?

    我正在尝试引入 Go 供应商 将依赖项存储在名为的文件夹中 vendor 到现有的 App Engine 项目 我已将所有依赖项存储在供应商文件夹中 使用 Godep 作为助手 它看起来是正确的 但在本地运行应用程序时出现以下错误 go a
  • struct{} 和 struct{}{} 在 Go 中如何工作?

    我想知道 Go 中的 struct 和 struct 是什么意思 示例如下 array index struct or make map type struct struct is a keyword https golang org re
  • Go1编译器如何工作?

    我在一个学校项目中接触 Go 大约一个月了 我注意到 src pkg go 文件夹中的 go ast go token go parser 等包 但是 gc 编译器基于位于 src cmd gc 中的 C 文件 我的问题是关于 Go1 中用
  • Go 中的格式错误 - %s %v 或 %w

    s v and w可用于格式化 Go 中的错误 将它们转换为字符串 fmt Errorf 它们在 Go 自己的工具中的使用方式似乎有所不同 In cmd go internal get path go https github com go
  • 在 JavaScript/Node.js 中将 Youtube Data API V3 视频持续时间格式转换为秒

    我正在尝试将 ISO 8601 字符串转换为 JS Node 中的秒 我能想到的最好的办法是 function convert time duration var a duration match d g var duration 0 if
  • 同步通过 LAN 电缆连接的两台 Windows 7 计算机之间的时间

    我有许多笔记本电脑 它们运行我们的应用程序 同时通过以太网电缆成对连接 但未连接到任何外部网络或互联网 时间 我需要连接对来同步其系统时间 但由于每台计算机都需要能够与任何其他计算机同步 因此我无法将一台计算机定义为时间服务器 而另一台计算
  • 建议一种每分钟更新时间的方法

    我有一个完整的ajax应用程序 我正在使用下面的代码每分钟更新一次时间 但如果我保持浏览器打开超过 10 分钟 浏览器就会变得无响应 缓慢 建议更好的代码 function tick var d new Date var time padN
  • gcloud 部署应用程序找不到导入包 - golang

    我已经将应用程序的一个版本部署到 GAE 但现在部署新版本时遇到问题 当我尝试时gcloud app deploy version VERSION 我收到一堆错误 显示远程构建找不到我的导入包 Beginning deployment of
  • mysql 查询中的 golang 切片,带有 where in 子句

    我正在运行以下查询 但只获取第一个 id 值 select from table where table id in 1 2 3 4 5 6 7 9 11 13 14 15 17 and table deleted at is null 我
  • 哪些语言可以很好地进行日期、时间和日历操作? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这可能是一个过分的要求 但是有没有一种语言能够真正出色地表示时间和日期操作呢 我会立即承认这是真的很难编写一个真正伟大的时间库 也就是
  • Go中funcappend的实现在哪里?

    我对 go 非常感兴趣 并尝试阅读 go 函数的实现 我发现其中一些函数没有实现 如追加或调用 The append built in function appends elements to the end of a slice If i
  • time() 会返回相同的输出吗?

    当用户注册时 我正在为 PHP 中的用户生成令牌 我想知道两个用户是否可以获得相同的令牌 因为这会破坏系统 请让我知道这是否足够 token md5 rand time 编辑 我现在正在使用我在另一个问题上找到的generate uuid
  • foo.Name undefined(类型接口{}没有字段或方法名称)

    我使用本机 golang 包 container list 来管理堆栈中的 inotify 事件 当我访问堆栈的项目时 我的类型失败 我认为 import golang org x exp inotify container list lo
  • 仅以 int 形式显示和保存小时数

    如何仅显示小时并使用 int 变量 我的意思是打印时间 例如 20 30 44 PM 我只想存储小时 即 int 变量中的 20 小时 怎么做 有谁知道的话可以告诉我密码吗 谢谢 尝试使用日历get http docs oracle com
  • 在 Go 中使用 init() 函数真的很糟糕吗?

    几天前我开始了一个新的 go 项目 我使用 golangci lint 使我的代码具有良好的风格 我发现 gochecknoinits 是 golangci lint 的 linter 之一 它告诉我不要使用 init 在我看来 为了方便起

随机推荐

  • 使用 Nodejs 和 body-parser 发布表单数据

    我现在已经进行了几次不同的在线尝试 但我的帖子数据一直未定义 并且 console log JSON stringify req body 也没有返回任何内容 所以我在某个地方出错了 HTML
  • SSE、内在函数和对齐

    我使用大量 SSE 编译器内在函数编写了一个 3D 矢量类 一切都工作正常 直到我开始使用 new 来实例化具有 3D 向量作为成员的类 我在发布模式下经历了奇怪的崩溃 但在调试模式下却没有 反之亦然 因此 我阅读了一些文章 并认为我需要将
  • 使用 pip 安装 pycrypto 失败

    我在尝试下载某个包时遇到了问题 C Python27 Scripts gt pip install pycrypto Collecting pycrypto Using cached https files pythonhosted org
  • gcc 中“-l”选项的放置

    我在放置时遇到一些问题 l使用时的选项gcc 这是一个用于重现问题的精简版本 t c include
  • 从数字字符串生成行

    我有一个 Oracle 18c 表 其中包含如下字符串 select 0 5 0 10 10 11 18 30 0 33 54 50 10 33 54 60 10 43 54 as multipart lines There are mor
  • 在 WPF 绑定中使用“真实”CultureInfo.CurrentCulture,而不是 IetfLanguageTag 中的 CultureInfo

    就我而言 我有一个 TextBlock 绑定到 DateTime 类型的属性 我希望它按照用户的区域设置显示
  • Maven:我应该保留还是删除声明的依赖项,这些依赖项也是传递依赖项?

    您认为删除 Maven pom 中可以找到的所有传递依赖项是一个好习惯吗 Example 我的项目依赖于A和B B 也是 A 的传递依赖 我应该将 B 保留在我的 pom 中还是将其删除 哪个最好 拥有所有已知的 jar 甚至是传递性的 j
  • Spark:将 bytearray 转换为 bigint

    尝试使用 pyspark 和 Spark sql 将 kafka 键 二进制 字节数组 转换为 long bigint 会导致数据类型不匹配 无法将二进制转换为 bigint 环境详情 Python 3 6 8 Anaconda custo
  • 如何使用 Objective-C 使文件在 Finder 中不可见

    如果可能的话 我需要使用 Objective C 或使用 C 调用将文件隐藏在查找器中以及聚光灯下 Thanks 您可以使用 chflags path to file UF HIDDEN 隐藏任何文件 See 手动更改标志 2 https
  • 实体框架无法使用复合键更新表中的数据 (Oracle)

    我们有一个具有三列复合键的 Oracle 表 这些列通过实体框架数据模型正确映射到 C 对象中 当我们从数据库中查询记录然后更新非键列时 我们总是收到一条错误消息 指出我们正在尝试更新主键 测试摘录如下 var connection new
  • 始终“具有离线访问权限”|谷歌 OAuth 2

    我正在尝试使用 Google OAuth2 api 获取用户的个人资料 用户身份验证后 在同意页面上 总是要求我 具有离线访问权限 浏览器中的 URL 如下所示 https accounts google com o oauth2 auth
  • Ember Data 未找到模型,但它显然存在

    我和其他许多人一样将我的 ember 应用程序升级到了最新版本 但升级后 我的应用程序仍然无法工作 我已经简化了很多 这归结为我的路线 我的路线是这样的 按照过渡指南中的建议 App BoxesRoute Ember Route exten
  • c++ pthread - 如何使地图访问线程安全?

    我有一个映射作为成员变量和多个访问该映射的线程 读写访问 现在我必须确保只有一个线程可以访问该地图 但我该如何点呢 最好的解决方案是什么 Boost 包含一些用于共享访问的很好的锁实现 看看文档 http www boost org doc
  • Google Play 游戏服务 - 未显示解锁成就弹出窗口

    当我解锁成就时 成就已解锁 弹出窗口不会弹出 但成就已解锁 正如我在成就列表中看到的那样 我已经尝试过了this https stackoverflow com a 26474719 2543285解决方案 但它不起作用 我在 MainAc
  • 将 JSON 数据从 php 传递到 html-data 属性,然后传递到 Javascript

    我正在创建一个插件 用户可以在其中添加自定义设置data HTML 中的属性 设置采用 JSON 格式 我在 Javascript 中使用这些设置 它有preview base and paths特性 preview and base有字符
  • Zurb Foundation:如何在调整大小到较小的屏幕时使按钮变小?

    在 Zurb Foundation 4 中 是否有一种方法可以在浏览器尺寸调整得较小或在较小的屏幕上时自动切换到较小的按钮样式 例如 当屏幕是标准桌面屏幕时 请执行以下操作 a href class primary button Butto
  • 计算具有特定子集大小的集合分区

    给定一组n元素 我需要找到该集合的所有分区k大小几乎相等的子集 例如 对于一个包含 7 个元素和 3 个子集的集合 我只需要其中有两个子集 每个子集包含 2 个元素 和一个子集包含 3 个元素的分区 我不想要一个包含 1 2 和 4 个元素
  • Visual Studio Javascript 断点未命中,为什么?

    可以为 javascript 代码块设置断点 如下图所示 我们如何使用它们 VS总是忽略 如果调试时将 Internet Explorer 设置为浏览器 理论上 Visual Studio 能够在客户端脚本设置的断点处停止 要使用该功能 您
  • Java Diffie-Hellman 密钥交换

    我正在尝试执行代码来执行 Diffie Hellman 密钥交换 我从网上的一个示例中获取了代码 现在忘记在哪里了 我必须导入 bouncycastle jar 我认为它在执行之前一直有效 my code package testproje
  • Golang - 如何在特定时间执行函数

    我需要在一天中的特定时间运行一个函数 例如 0010 0610 1210 1810 我目前的方法使用自动收报机for range time Tick 21600 time Second 我以这些时间间隔之一 例如 1210 手动启动该程序