irisdev
V2EX  ›  Java

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

  •  
  •   irisdev · Oct 13, 2024 · 3251 views
    This topic created in 609 days ago, the information mentioned may be changed or developed.
    小弟之前做了一个需求,审批流节点到某个用户那里时,如果用户不处理,就在早八到晚八之间每隔两小时对用户企业微信提醒一次,最近有用户反馈在海外半夜被提醒弄醒,问我能不能根据手机时区推送,如法国用户那就在北京时间下午两点开始推送。

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

    今天闲着又想到这个问题了,是否是自己孤陋寡闻,有比较好的解决方案没想到?望大佬们不吝赐教
    4 replies    2024-10-14 18:29:27 +08:00
    codehz
        1
    codehz  
       Oct 13, 2024
    让用户自己设置提醒时间
    GG668v26Fd55CP5W
        2
    GG668v26Fd55CP5W  
       Oct 13, 2024 via iPhone
    通过用户 ip 获取用户所在地,映射到时区,如果 cloudflare ,请求就有时区信息。
    irisdev
        3
    irisdev  
    OP
       Oct 13, 2024
    @codehz @falcon05 谢谢两位,那根据常用 ip 然后轮询提醒,代码里面判断这个方案应该就可行
    vovov
        4
    vovov  
       Oct 14, 2024 via iPhone
    我们是用户自己设置时区,用队列来做提醒
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2818 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 09:48 · PVG 17:48 · LAX 02:48 · JFK 05:48
    ♥ Do have faith in what you're doing.