V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
irisdev
V2EX  ›  Java

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

  •  
  •   irisdev · 50 天前 · 1292 次点击
    这是一个创建于 50 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小弟之前做了一个需求,审批流节点到某个用户那里时,如果用户不处理,就在早八到晚八之间每隔两小时对用户企业微信提醒一次,最近有用户反馈在海外半夜被提醒弄醒,问我能不能根据手机时区推送,如法国用户那就在北京时间下午两点开始推送。

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

    今天闲着又想到这个问题了,是否是自己孤陋寡闻,有比较好的解决方案没想到?望大佬们不吝赐教
    4 条回复    2024-10-14 18:29:27 +08:00
    codehz
        1
    codehz  
       50 天前
    让用户自己设置提醒时间
    falcon05
        2
    falcon05  
       50 天前 via iPhone
    通过用户 ip 获取用户所在地,映射到时区,如果 cloudflare ,请求就有时区信息。
    irisdev
        3
    irisdev  
    OP
       50 天前
    @codehz @falcon05 谢谢两位,那根据常用 ip 然后轮询提醒,代码里面判断这个方案应该就可行
    vacker
        4
    vacker  
       49 天前 via iPhone
    我们是用户自己设置时区,用队列来做提醒
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5976 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:47 · PVG 10:47 · LAX 18:47 · JFK 21:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.