golang实现cron定时任务

2023-11-13

golang实现cron定时任务


在编写爬虫的时候,需要定时抓取实时的新闻资讯、原来采用的linux的crontab,但是发现并不是很灵活、而且不能定制,所以就采用golang写了一套、发现网上的文章、有很多坑、所以整理了一套代码。

下载包


╰$ go get github.com/robfig/cron

代码篇:


package main

import (
	"fmt"
	"github.com/robfig/cron"
	"time"
) 

// 定时任务,可以设置具体的时间,三秒执行一次
func timeTask() {
	// 每天凌晨0点执行一次:0 0 0 * * ?
	// 每隔3秒执行一次:*/3 * * * * *

	spec := "*/3 * * * * *"
	c := cron.New(cron.WithSeconds())
	c.AddFunc(spec,business)
	go c.Start()
	defer c.Stop()
	select {}
}

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

golang实现cron定时任务 的相关文章

  • 不使用 RVM 时的 Cron +

    我使用的是RVM环境 RUby 版本 2 1 2 导轨 4 1 1 schedule rb every 1 minute do runner note send mail end I used whenever update crontab
  • GO中的优先级队列

    谁能向我解释一下 我想在GO中实现一个优先级队列 接口实现来自link https golang org pkg container heap example priorityQueue 但优先级最低 我的代码 pq make Priori
  • 防止使用 golang 服务器访问文件夹中的文件

    我在 golang 中有一个服务器可以处理这样的文件夹路径 fs http FileServer http Dir assets http Handle Images fs http ListenAndServe 8000 nil 但在这个
  • golang导入结构体指针

    好的 我有一个主包和一个 http 处理程序包 本质上我想做的是设置一个全局结构 这样我就可以随时调用该结构中的信息 我尝试的示例的基本概要如下 主包导入处理函数 主包调用handlerfunc Handlerfunc 将 http Res
  • 将 []string 传递给需要可变参数的函数

    为了不一遍又一遍地重复我的自我 我想创建一个处理运行一些命令的函数 func runCommand name string arg string error cmd exec Command name arg if err cmd Run
  • Google App Engine Golang 没有这样的文件或目录

    我正在用 Go 开发一个 Google App Engine 项目 并陷入了读取文件的困境 事实上 应用程序在本地运行得很好 然而 部署时 它会恐慌告诉我没有这样的文件或目录 这是我的 fileValue 方法 func fileValue
  • 数据库连接最佳实践

    我有一个使用 net http 的应用程序 我使用 http 注册了一些处理程序 这些处理程序需要从数据库中获取一些内容 然后才能继续编写响应并完成请求 我的问题是连接到该数据库的最佳实践是什么 我希望它能够以每分钟 1 个请求或每秒 10
  • git push 无法在 cron 作业中工作

    我目前正在清理 CentOS 6 服务器上其他人留下的烂摊子 有一个应用程序需要每6小时备份一次到github帐户 有一个脚本负责准备数据并负责 git add 和 git commit git Push 由 expect 脚本负责 这样做
  • runtime.LockOSThread 是否允许子 goroutine 在同一个操作系统线程中运行?

    我明白在 Go 中 runtime LockOSThread https golang org pkg runtime LockOSThread将一个 goroutine 绑定到一个操作系统线程 并且不允许其他 goroutine 在该线程
  • java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.type。使用 apache beam Spark runner 运行 go 示例时

    我想跑grades https github com apache beam tree master sdks go examples gradesapache beam go sdk 提出的示例 在一个主服务器和两个从服务器 spark2
  • 当变量更新时动态刷新模板的一部分golang

    在Golang中 当变量更新时可以刷新模板的一部分吗 例如 我们可以在 Angular js 中找到这一点 基本上在我的代码中 我通过 ajax 中的邮政编码查找地址 它显示我找到的该邮政编码的用户列表 Here is a sample o
  • 使用 crypto/ssh 的 golang scp 文件

    我正在尝试通过 ssh 下载远程文件 以下方法在 shell 上运行良好 ssh hostname tar cz opt local folder gt folder tar gz 然而 golang 上的相同方法在输出工件大小方面存在一些
  • 取消用户特定的 goroutine [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个应用程序 网络应用程序 允许用户使用 twitter oauth 登录并提供自动推文删除功能 用户登录到 Web 应用程序后
  • 无法连接到代理“证书由未知机构签名”

    我正在尝试通过 Kubernetes 部署上的 cloudsql proxy 容器连接到 CloudSQL 实例 我已安装 cloudsql 凭据以及值GOOGLE APPLICATION CREDENTIALS set 但是 我的日志中仍
  • 如何将未知字段类型的数据解组为 JSON

    我有这些 结构 type Results struct Gender string json gender Name struct First string json first Last string json last json nam
  • 如何在golang模板上打印JSON?

    我需要在客户端有一个对象 所以我使用 json marshal 将其转换为 JSON 并将其打印到模板中 该对象被打印为转义 JSON 字符串 我期待它是var arr o1 o2 但它是var arr o1 o2 我知道我可以在客户端进行
  • 在 IntelliJ IDEA 中运行。多个文件和错误未定义:数据

    我想使用 IntelliJ IDE 社区版编写代码GO Go语言 我安装了正确的插件 并安装了构建应用程序所需的所有工具 我的应用程序包含以下两个文件 每个都在目录中 事件服务器 Main go Data go 如果我想使用 Run Ctl
  • 使用 testify 模拟接口方法两次,输入和输出不同

    如何在 golang 测试中模拟接口方法两次 例如 type myCache interface Get key string data interface error type service struct cache myCache f
  • 如何在 Golang 中将 []byte XML 转换为 JSON 输出

    有没有办法在 Golang 中将 XML byte 转换为 JSON 输出 我有以下功能body is byte但我想在一些操作之后将此 XML 响应转换为 JSON 我试过了Unmarshal in xml打包没有成功 POST func
  • 为什么 Go 中只有 int 而没有 float?

    在 Go 中 有这样的类型int这可能相当于int32 or int64取决于系统架构 我可以声明一个整数变量而不用担心它的大小 var x int 为什么没有这个类型float 这相当于float32 or float64取决于我的系统架

随机推荐

  • bluez调试笔记

    蓝牙系列 bluez调试笔记 weixin 41069709的博客 CSDN博客 bluezbluez移植https blog csdn net weixin 41069709 article details 125168114 spm 1
  • 指针与const限定符

    const限定符和指针结合起来常见的情况有以下几种 const int a int const a 这两种写法是一样的 a是一个指向const int的指针 a所指向的内存单元不可改写 所以 a 是不允许的 但a可以改写 所以a 是允许的
  • 低电压电池充不进电问题分析

    作者 AirCity 2020 3 1 Aircity007 sina com 本文所有权归作者Aircity所有 1 问题现象 某MSM8998手机项目 老化测试一端时间后 有很小比例的机器关机黑屏 充电1h没有反应 测量电池电压 2 6
  • Java实验二 货物进销管理系统【简单易懂】

    写在前面 这个题目主要通过仔细阅读题目的需求 再通过对文件流以及Vector ArrayList等容器的控制来完成整个代码体系的构建 因为当时正在学习 对代码的构建逻辑不够规范 思想不够到位的地方也难以避免 在这里抱歉抱歉 不过这一版的构建
  • 在K2P路由器,非官方openwrt固件,安装软件遇到的坑!

    手上有一台斐讯K2P A2版本的路由器 一直空闲在宿舍 最近发现这个路由器被破解了 可以刷上不死breed 还有很多大神做的固件 因此我想用它刷上openwrt系统后 安装某软件 从而直接在路由器上完成学校的宽带验证登陆 接下来我就介绍我在
  • 04 Cesium—Cesium ion介绍

    文章中所有操作均是在 Cesium 1 91 版本下进行的 其它版本差异请自行适配 Cesium ion Cesium ion 是一个提供瓦片图和3D地理空间数据的平台 Cesium ion 支持把数据添加到用户自己的 CesiumJS 应
  • 8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系,转换以及简易方法

    8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系 转换以及简易方法 1 有权码和无权码的包括 2 各种码值的介绍 8421码的简介 8421码又称为BCD码 是十进代码中最常用的一种 在这种编码方式中 每一位二值代码
  • java设计模式之单例模式

    目录 一 单例模式 二 饿汉模式和懒汉模式 1 饿汉模式 线程安全 2 懒汉模式
  • KVM无法进入virt-manager,提示Unable to init server: Could not connect: Connection refused

    1 KVM virt manager不能以root用户进入 需切换成普通用户或者sudo用户 2 需要配置ssh 密钥 3 需要安装Xming或者Xmanager等KVM可用等图形界面软件 无法连接kvm 设置用户到组 一定要当前用户不要r
  • 应用安全系列之九:HTTP参数污染

    本系列文章主旨在于介绍一些漏洞类型产生的基本原理 探索最基础的解决问题的措施 不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题 也不排除可以严格地输入验证来解决 URL参数注入 也称为HPP HTTP Parameter
  • java自旋锁的实现及其分析

    自旋锁是指一个线程尝试获取某个锁时 如果该锁已经被其他线程占用了 就一直循环检测锁释放被释放 而不是像互斥锁一样让线程进入挂起或者睡眠状态 自旋锁的的缺点就是会一直死循环一直到获取锁为止 这样会一直消耗cpu内存 但是与互斥锁把线程阻塞 然
  • vue3封装请求功能

    1 一般3开发后缀为ts的是在安装脚手架选择了ts语法开发 2 一般3开发后缀还为js的是没有选择ts当然也支持后缀vue文件使用setup js后缀的支持2的封装如下链接 vue2封装请求 如下所示为ts后缀的说明 request js
  • vue使用element发送手机验证码倒计时

    发送验证码倒计时 html
  • Linux常见面试题

    题目说明 参考多处Linux总结 整理了一下 原文链接 https blog csdn net weixin 41755830 article details 80519390 https www cnblogs com zjfjava p
  • Unity3D命令行Build

    Unity3D命令行Build 本来是没想用这个命令行Build方式 可惜电脑不知道怎么的就没法可视化的Build的了 一Build就蓝屏 后面发现这个命令行Build还是一个很实用的东西 比如你可以在服务器上搞个脚本让它每天在深更半夜时帮
  • 【解决 SyntaxError: Cannot use import statement outside a module 报错问题】

    1 项目场景 在学习express框架时 使用 formidable 包进行解析表单数据 文件上传 的Node js模块时 用 import 方式进行导入 import formidable from formidable 随后 使用 np
  • java反序列化时区,Jackson使用Java 8将Elasticsearch反序列化为LocalDateTime

    我们在日期字段中填充了longinlasticsearch索引 字段映射为 Field type FieldType Date JsonFormat shape JsonFormat Shape NUMBER INT private Loc
  • STM32速成笔记—串口IAP

    本文涉及到串口通信和Flash知识 对于这部分知识不熟悉的小伙伴可以到博主STM32速成笔记专栏查看 文章目录 一 串口IAP简介 1 1 什么是IAP 1 2 STM32下载程序 二 串口IAP有什么作用 三 启动流程 3 1 正常启动流
  • VirtualBox下设置共享文件夹并自动挂载

    想在主机和VirtualBox的Ubuntu建个共享文件夹 之前一直没搞定 今晚却特别的顺利 以下是设置的步骤 1 安装VirtualBox的VBoxGuestAddition iso 在 设备 gt 安装增强功能 安装结束记得重启 以前在
  • golang实现cron定时任务

    golang实现cron定时任务 在编写爬虫的时候 需要定时抓取实时的新闻资讯 原来采用的linux的crontab 但是发现并不是很灵活 而且不能定制 所以就采用golang写了一套 发现网上的文章 有很多坑 所以整理了一套代码 下载包