后台定时任务可否根据客户端时区定时推送?

75 天前
 irisdev
小弟之前做了一个需求,审批流节点到某个用户那里时,如果用户不处理,就在早八到晚八之间每隔两小时对用户企业微信提醒一次,最近有用户反馈在海外半夜被提醒弄醒,问我能不能根据手机时区推送,如法国用户那就在北京时间下午两点开始推送。

小弟想了一下可能不太好弄,框架用的.net core ,定时提醒用的 Quartz ,服务器统一在中国,似乎只能按照中国时区推送?企业微信提供的发消息接口似乎是即时的,不支持指定时间或者按照时区延迟,而且我在后台也很难拿到此刻用户的时区,除非让用户自己登记。最后想到了一个方案,定时设为每个小时提醒一次,同时根据上下班打卡时地点获取一下用户时区,计算后在早八晚八这个时间段且为偶数点数则提醒,否则不提醒,但是感觉这么做又太麻烦,最后跟用户说不好做。

今天闲着又想到这个问题了,是否是自己孤陋寡闻,有比较好的解决方案没想到?望大佬们不吝赐教
1327 次点击
所在节点    Java
4 条回复
codehz
75 天前
让用户自己设置提醒时间
falcon05
75 天前
通过用户 ip 获取用户所在地,映射到时区,如果 cloudflare ,请求就有时区信息。
irisdev
75 天前
@codehz @falcon05 谢谢两位,那根据常用 ip 然后轮询提醒,代码里面判断这个方案应该就可行
vacker
74 天前
我们是用户自己设置时区,用队列来做提醒

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1079832

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX