远程链/组任务

时间:2020-09-08 11:53:43

标签: celery celery-task

    dis_vm1 = signature('disconnet_vm',queue='disconnet_vm',kwargs=TaskArgs1, immutable=True)
    dis_vm2 = signature('disconnet_vm',queue='disconnet_vm',kwargs=TaskArgs2, immutable=True)
    dis_vm3 = signature('disconnet_vm',queue='disconnet_vm',kwargs=TaskArgs3, immutable=True)
    dis_vm4 = signature('disconnet_vm',queue='disconnet_vm',kwargs=TaskArgs4, immutable=True)

    disconnect_group = group([dis_vm1, dis_vm2, dis_vm3, dis_vm4], app=app)

    destroy_dc = signature('destroy_vm',queue='destroy_vm',kwargs=TaskArgs5, immutable=True)

    deploy_dc = signature('deploy_vm',queue='deploy_vm',kwargs=TaskArgs6, immutable=True)

    dep_vm1 = signature('deploy_vm',queue='deploy_vm',kwargs=TaskArgs7, immutable=True)
    dep_vm2 = signature('deploy_vm',queue='deploy_vm',kwargs=TaskArgs8, immutable=True)
    dep_vm3 = signature('deploy_vm',queue='deploy_vm',kwargs=TaskArgs9, immutable=True)
    dep_vm4 = signature('deploy_vm',queue='deploy_vm',kwargs=TaskArgs10, immutable=True)

    deploy_group = group([dep_vm1, dep_vm2, dep_vm3, dep_vm4], app=app)

    chain = disconnect_group
    chain |= destroy_dc
    chain |= deploy_dc
    chain |= deploy_group


    tasks = chain.apply_async()

此代码运行良好,它可以远程提交任务链,包括2组任务的集合。 由于我是从远程计算机发送请求,因此我没有导入芹菜任务,这使它更具挑战性。 我需要以下帮助:

  1. 如何跟踪完整的连锁状态?我需要知道第一个任务何时开始以及最后一个任务何时完成。
  2. 如果其中一项任务失败,如何停止链执行?
  3. 如果我将确保远程任务可用,会更容易,因此我可以将其导入,然后更容易遵循celery文档。

谢谢!

0 个答案:

没有答案