Celery 回调失败

问题描述

我的 django 应用有两个 Celery 任务。实际上,这些任务是调用长期函数所必需的。完成第一个任务后必须调用第二个任务。根据 Celery docs 我使用回调语法。

tasks.py

@app.task()
def invoke_init_vapp(vcenter_dict):
    logger.info('Init vapp received data. Vapp cloning started!')
    try:
        init_vapp(vcenter_dict)
        logger.info('vCenter raised all necessary machine')
        return True
    except Exception as err:
        logger.error(f'Something went wrong with vCenter script: {err}')


@app.task()
def invoke_init_vapp_scripts(script_id,lang,scenario):
    init_vapp_scripts(script_id=script_id,lang=lang,scenario=scenario)
    logger.info('Connection to the intruder machine begins')
    return True

这里我试着一个一个调用我的任务

...

    invoke_init_vapp.apply_async(
                    (vcenter_data_creator.vcenter_dict,),link=invoke_init_vapp_scripts.s(script_id=scenario.script_id,lang='ru',scenario=scenario_data)
                )

...

但是出了点问题,我的第一个任务是失败。我如何调试它? 我确定该任务没有开始,因为我没有看到来自“invoke_init_script”的日志,而且我调用的长期函数也没有提供任何日志。 下面是我的花截图。

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...