V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
findlisa
V2EX  ›  程序员

求问定时任务实现思路

  •  
  •   findlisa · Mar 29, 2020 · 4062 views
    This topic created in 2231 days ago, the information mentioned may be changed or developed.

    有个需求是,给一个产品配置价格的生效时间 比如设置 3 月 29 日价格是 50 元,4 月 1 日是 100 元,4 月 10 号是 150 元 这三个生效时间都写进数据了 现在是 3 月 29 日,这个是生效的,状态为 1 ;到 4 月 1 日 0 点 00 分,100 元的价格生效状态置为 1,3 月 29 日的价格失效,状态自动修改为 0 。

    这个定时任务怎么实现呢?是不是写 sql 存储过程就可以了?数据库是 mysql

    17 replies    2020-03-29 12:37:51 +08:00
    xuanbg
        1
    xuanbg  
       Mar 29, 2020
    这个需求要什么定时任务?直接用当前时间做条件查询出当前生效的价格不行吗?
    mzsongyan
        2
    mzsongyan  
       Mar 29, 2020 via iPhone
    最简单的,根据当前时间判断,满足哪个条件展示哪个价格
    findlisa
        3
    findlisa  
    OP
       Mar 29, 2020 via Android
    @xuanbg 要呀,价格会根据日期自动生效,感觉要个监听器什么的,因为价格我可以一次设置很多条,让它自己走
    findlisa
        4
    findlisa  
    OP
       Mar 29, 2020 via Android
    @mzsongyan 每天凌晨检查一遍吗?那我有很多个产品呢
    findlisa
        5
    findlisa  
    OP
       Mar 29, 2020 via Android
    现在打算这样做,设个 spring 定时任务,每天凌晨检查一遍所有价格,若有日期等于今天,修改该产品价格状态为 1,同时将上一个价格状态修改为 0 。。。
    EminemW
        6
    EminemW  
       Mar 29, 2020 via iPhone
    @findlisa 接口返回的时候做生效时间判断不就好了?
    sarices
        7
    sarices  
       Mar 29, 2020
    这个跟定时任务没关系吧,根据服务器当前日期返回价格就好了啊
    Mirana
        8
    Mirana  
       Mar 29, 2020
    把时间和数额 encode 成价格
    liyunlong41
        9
    liyunlong41  
       Mar 29, 2020 via iPhone
    感觉调用查询价格接口时根据当前时间判断价格即可。
    kaiki
        10
    kaiki  
       Mar 29, 2020
    也有可能是楼主的接口不能动,只能动数据,所以才需要一个外部的处理来根据时间修改价格?
    123444a
        11
    123444a  
       Mar 29, 2020 via Android
    电商没有一家使用定时任务改价格的,promotion 是独立信息
    crab
        12
    crab  
       Mar 29, 2020
    查询调取价格的时候带入时间条件
    coderEOS
        13
    coderEOS  
       Mar 29, 2020 via Android
    gem whenever
    zhou00
        14
    zhou00  
       Mar 29, 2020 via Android
    用线程池异步执行 Task 任务,执行完成再插入一条下次需要执行的任务,以此类推,上家电商平台,修改状态什么的就是这么做的,仅供参考
    siweipancc
        15
    siweipancc  
       Mar 29, 2020 via iPhone
    quartz.
    nortonlai
        16
    nortonlai  
       Mar 29, 2020 via Android
    @Mirana 这个思路好!
    amao1021
        17
    amao1021  
       Mar 29, 2020
    在数据表里面先把每个日期要改变的价格写好,然后用定时任务去读取这个表,如果当前系统时间大于这个计划变更的时间了,就把价格改过来
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5173 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 09:50 · PVG 17:50 · LAX 02:50 · JFK 05:50
    ♥ Do have faith in what you're doing.