中级
实现死信队列处理
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
dead_letter_queue_csv = open_url(____).read()
messages_csv = open_url(____).read()
import pandas as pd, json
from io import StringIO
dlq = pd.read_csv(StringIO(____))
msgs = pd.read_csv(StringIO(____))
MAX_RETRY = ____
class DeadLetterQueue:
def __init__(____):
self.queue = []
self.max_retry = max_retry
def add(____):
self.queue.append(____)
def retry_all(____):
survived = []
for item in self.queue:
try:
handler(item['____'], json.loads(____))
print(____)
except Exception as e:
item['____'] += ____
if item['____'] < self.max_retry:
survived.append(____)
print(____)
else:
print(____)
self.queue = survived
def flaky_handler(____):
if topic == '____': raise RuntimeError(____)
dlq_obj = DeadLetterQueue()
for _, row in dlq.iterrows():
dlq_obj.add(____)
print(____)
print(____)
dlq_obj.retry_all(____)
print(____)
示例
输入
solve()
期望输出
DLQ初始: 8条 重试DLQ: msg-7ea4ee9c: retry SUCCESS msg-57f0002f: retry FAIL (1/3) msg-8c3bb092: retry SUCCESS msg-214b8680: retry SUCCESS msg-72b17880: retry SUCCESS msg-8abbaaa9: retry SUCCESS msg-9b0fea55: retry SUCCESS msg-d052f52c: retry SUCCESS DLQ剩余: 1条
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199