#!/usr/bin/env python
#-*- coding:utf-8 -*-
import redis
conn = redis.Redis()
# 初始化任务信息到 Redis 中
def set_task_info(task_id):
# 请在下面完成要求的功能
#********* Begin *********#
conn.hset("task_status", task_id, "init")
#********* End *********#
# 将任务添加至任务队列
def add_task_to_queue(task_id, priority):
# 请在下面完成要求的功能
#********* Begin *********#
conn.zadd("task_queue", task_id, int(priority))
set_task_info(task_id)
#********* End *********#
# 从任务队列中取出优先级最高的任务
def get_task():
# 请在下面完成要求的功能
#********* Begin *********#
task_list_by_priority = conn.zrevrange("task_queue", 0, -1)
current_task = task_list_by_priority[0]
conn.zrem('task_queue', current_task)
conn.hset("task_status", current_task, "processing")
return current_task
#********* End *********#
第2关:哈希与有序集合
最新推荐文章于 2024-10-02 05:39:15 发布
本文介绍了如何使用Python的Redis库实现任务的初始化、队列添加和优先级排序。通过`hset`操作设置任务状态,`zadd`配合`zrevrange`实现高优先级任务的获取,展示了基本的任务管理和并发控制技术。
摘要由CSDN通过智能技术生成