Python多线程队列窥视

Python多线程队列窥视,python,multithreading,queue,Python,Multithreading,Queue,我有一个多线程程序,它有一个管理线程,可以定期将各种类型的作业放入多个工作线程共享的队列中,当作业放入队列时,这些工作线程会拾取它们(这是一个队列。SimpleQueue)。 工作线程完成一项作业所需的时间可能会有很大的不同,因此我的基本需求是,从管理线程开始,了解给定的作业类型是否已经在队列中,以避免放入另一个相同类型的作业。但是我看不出有什么办法可以窥视队列。您需要使用单独的数据结构来跟踪放入队列的任务。一个好主意是为每个任务生成唯一的任务ID,并将它们放在字典中 当任务完成时,您可以使用该

我有一个多线程程序,它有一个管理线程,可以定期将各种类型的作业放入多个工作线程共享的队列中,当作业放入队列时,这些工作线程会拾取它们(这是一个
队列。SimpleQueue
)。
工作线程完成一项作业所需的时间可能会有很大的不同,因此我的基本需求是,从管理线程开始,了解给定的作业类型是否已经在队列中,以避免放入另一个相同类型的作业。但是我看不出有什么办法可以窥视队列。

您需要使用单独的数据结构来跟踪放入队列的任务。一个好主意是为每个任务生成唯一的任务ID,并将它们放在字典中

当任务完成时,您可以使用该任务ID设置属性(例如,
done=True


在分布式系统中,使用外部数据存储(例如数据库或Redis)可能更容易管理

这如何帮助我看到工作人员何时处理了作业?这应该有一个编码示例。太笼统了。