Python AWS SQS是否是具有层次关系的任务的正确选择?

Python AWS SQS是否是具有层次关系的任务的正确选择?,python,amazon-web-services,boto3,amazon-sqs,Python,Amazon Web Services,Boto3,Amazon Sqs,此时,我使用数据库中的一个简单表来存储我的所有任务。每个任务都有以下结构: class Task: id: int parent_id: int priority: int command: int arg: str status: int 简而言之,有一个典型的任务队列存储在数据库中的表中。现在,我想使用Amazon Web Services SQS作为更合适、更专业的解决方案(这也是我的客户的要求)。但是,在数据库中,我可以只检查父任务的状态

此时,我使用数据库中的一个简单表来存储我的所有任务。每个任务都有以下结构:

class Task:
    id: int
    parent_id: int
    priority: int
    command: int
    arg: str
    status: int
简而言之,有一个典型的任务队列存储在数据库中的表中。现在,我想使用Amazon Web Services SQS作为更合适、更专业的解决方案(这也是我的客户的要求)。但是,在数据库中,我可以只检查父任务的
状态
,如果它已完成或失败,则执行子任务。在亚马逊网络服务SQS中是否有可能,或者我为我的问题选择了错误的服务?如果可能的话,正确的方法是什么


p.S.如果我使用Python 3.9.5bot3访问AWS,这很重要,如果执行子任务的决定取决于某个早期的相关父任务的状态,那么您仍然需要保持父任务的状态,可能是在数据库中。SQS可能是传达需要执行(然后从队列中删除)的任务列表的合理位置,但队列不是保存数据的正确位置。@jarmod,谢谢!然而,对于SQS,是否有某种方法可以解决这个问题?即使这是一个肮脏的解决方案,我仍然需要知道它,以便向客户清楚地解释:什么是优点和缺点。这里的信息确实不够。如果在将父任务排队时知道给定父任务的所有潜在子任务,则可以简单地将子任务作为表示父任务的JSON对象的子任务包含。当父任务从队列中拉出以进行处理时,它将附加(潜在)子任务数组,此时您可以决定是否处理这些子任务。