中级
实现消息幂等消费去重
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
messages_csv = open_url(____).read()
import pandas as pd, json
from io import StringIO
msgs = pd.read_csv(StringIO(____))
processed_ids = set()
consumed = duplicate = error = ____
def idempotent_consume(____):
nonlocal consumed, duplicate, error
if msg_id in processed_ids:
duplicate += ____
return False, '____'
try:
payload = json.loads(____) if isinstance(____) else {}
processed_ids.add(____)
consumed += ____
return True, '____'
except Exception as e:
error += ____
return False, f'____'
all_msgs = list(msgs.iterrows())
doubled = [(____) for _,r in msgs.head(____).iterrows()] * ____ + [(____) for _,r in msgs.iloc[____:].iterrows()]
for mid, topic, payload in doubled:
idempotent_consume(____)
print(____)
print(____)
示例
输入
solve()
期望输出
consumed=30, duplicate=5, error=0 unique processed: 30
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199