我正在构建一个简单的Flask应用程序,用户将使用该应用程序提交作业并检查结果。由于工作将是昂贵的计算,我的想法是简单地向Celery提交任务,让远程工作者执行计算并将结果存储在S3存储桶中。现在,由于APScheduler作业的结果只是来自Celery的任务ID,因此我需要一种在作业完成后存储此ID的方法。然后,用户在检查实际结果时会参考它。
由于APScheduler仅存储作业定义,而不存储有关实际执行的任何详细信息,因此我的想法是为EVENT_JOB_EXECUTED
事件添加一个侦听器并自己存储(我正在使用MongoDB作业存储,因此我只存储它在与工作定义集合一起的集合中。
有没有更好的方法实现我的目标?