You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按时间戳对请求进行分区?首分钟入第一流,后续3小时入第二流循环

周期性数据分流实现方案

核心逻辑

  • 每个循环周期分为两个固定阶段:
    • 阶段1:周期启动后的首1分钟,所有数据路由至第一个流
    • 阶段2:阶段1结束后,接下来的3小时,所有数据路由至第二个流
  • 3小时阶段结束后,自动重置周期,重复上述分流逻辑

代码示例(Python)

import time

# 初始化第一个周期的起始时间戳
cycle_start = time.time()

def route_data(data):
    global cycle_start
    now = time.time()
    time_since_cycle_start = now - cycle_start

    # 判断当前阶段,路由数据
    if time_since_cycle_start <= 60:
        # 首1分钟:发送到第一个流
        send_to_stream_1(data)
    elif 60 < time_since_cycle_start <= 60 + 3*3600:
        # 后续3小时:发送到第二个流
        send_to_stream_2(data)
    else:
        # 周期结束,重置并进入新周期的首分钟阶段
        cycle_start = now
        send_to_stream_1(data)

def send_to_stream_1(data):
    # 这里替换为第一个流的实际发送逻辑
    print(f"数据进入第一个流: {data}")

def send_to_stream_2(data):
    # 这里替换为第二个流的实际发送逻辑
    print(f"数据进入第二个流: {data}")

关键说明

  • 用cycle_start记录每个周期的起始点,周期结束后直接重置该时间戳,无需额外定时器
  • 通过计算时间差判断当前处于周期的哪个阶段,逻辑简单且无延迟
  • 边界场景处理:当超过3小时周期的瞬间,自动触发新周期,确保下一条数据直接进入新周期的首分钟阶段

内容的提问来源于stack exchange,提问作者Hany Morcos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:50:33