思路与设计:
- 使用 github.com/robfig/cron 包创建两个定时任务,一个用于加班提醒,一个用于下班提醒。
- 加班提醒定时任务在指定时间发送加班提醒信息。
- 下班提醒定时任务在指定时间发送下班提醒信息。
- 使用第三方短信服务发送信息,这里假设使用 Twilio 服务。
代码实现:
package main
import (
"fmt"
"log"
"time"
"github.com/robfig/cron"
"github.com/sfreiberg/gotwilio"
)
// Twilio账号信息
const (
AccountSid = "your_account_sid"
AuthToken = "your_auth_token"
YourNumber = "+1234567890" // 你的Twilio电话号码
ReceiverNum = "+1234567890" // 接收提醒信息的电话号码
)
// 发送提醒信息
func sendReminderMessage(message string) {
twilio := gotwilio.NewTwilioClient(AccountSid, AuthToken)
_, exception, err := twilio.SendSMS(YourNumber, ReceiverNum, message, "", "")
if err != nil || exception != nil {
log.Fatalf("Error sending SMS: %v, Exception: %v", err, exception)
}
fmt.Println("提醒信息已发送!")
}
// 发送加班提醒信息
func sendOvertimeMessage() {
message := "加班提醒:今天加班记得注意身体,辛苦了!"
sendReminderMessage(message)
}
// 发送下班提醒信息
func sendOffWorkMessage() {
message := "下班提醒:下班时间到啦,记得安全回家哦!"
sendReminderMessage(message)
}
func main() {
// 创建定时任务调度器
c := cron.New()
// 加班提醒定时任务,每天晚上18:00执行
c.AddFunc("0 18 * * *", sendOvertimeMessage)
// 下班提醒定时任务,每天晚上19:00执行
c.AddFunc("0 19 * * *", sendOffWorkMessage)
// 启动定时任务调度器
c.Start()
// 程序运行,阻塞主 goroutine
select {}
}
注:Twilio是要花钱的,所以请确保用户余额。
不错不错,我喜欢看
怎么收藏这篇文章?
怎么收藏这篇文章?
想想你的文章写的特别好https://www.237fa.com/
不错不错,我喜欢看 https://www.ea55.com/
看的我热血沸腾啊www.jiwenlaw.com
我喜欢看,不错哦
真棒!
真棒!
《马尔蒂瓦公寓》欧美剧高清在线免费观看:https://www.jgz518.com/xingkong/137497.html
博主太厉害了!
真好呢