猿问

在Celery任务中调用Google Cloud API永远不会返回

我正在尝试Google Cloud Natural Language API 从Celery任务中调用外部(使用google-cloud-python程序包)。问题是对 API 的调用永远不会返回(挂起):


@celery.task()

def get_entities_async():

    return get_entities()


def get_entities():

    gcloud_client = LanguageServiceClient()

    doc = types.Document(content='This is a test.', language='en', type='PLAIN_TEXT')

    res = gcloud_client.analyze_entities(document=doc)  # This call never returns

    print('Call successful!')   # (This never gets printed)

    return res

我试图解决的问题:


get_entities()从脚本调用方法。这工作正常。

在API调用中添加了timeout=1和retry=False。它仍然挂起。

requests而是使用模块调用了API 。这对于芹菜很好用,所以问题必须出在里面LanguageServiceClient。

关于如何调试或解决这个问题的任何想法?


交互式爱情
浏览 117回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答