Le code ci-dessous fonctionne lorsqu'il est déclenché en tant que script en utilisant python. Mais la même chose, quand je encapsule dans une tâche de céleri et essaie d'exécuter, cela ne fonctionne pas. La tâche céleri imprime la ligne avant long_running_recognize, mais n'imprime pas celle qui suit l'opération - il semble qu'elle reste bloquée à l'appel long_running_recognize lors de l'exécution en tant que tâche de céleri.Discours de Google long_running_recognizer ne fonctionne pas lors de l'exécution d'une tâche de céleri
#!/usr/bin/env python3
import speech_recognition as sr
import json
import sqlalchemy
import io
import os
# Imports the Google Cloud client library
from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types
from sqlalchemy import create_engine
# Instantiates a client
client = speech.SpeechClient()
audio=speech.types.RecognitionAudio(uri='gs://<bucket_name>/<audio_file>')
config = types.RecognitionConfig(
encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16,
language_code='en-US')
print('FIRING GOOGLE SPEECH RECOGNITION')
# Detects speech in the audio file
operation = client.long_running_recognize(config, audio)
print('Waiting for operation to complete...')
response = operation.result(timeout=600)
outfile = open('test.txt', 'w')
for result in response.results:
for alternative in result.alternatives:
print('=' * 20)
outfile.write('Transcript: {}'.format(alternative.transcript))
outfile.write('=' * 20)
outfile.write("Confidence: {}".format(alternative.confidence))
print('Transcript: {}'.format(alternative.transcript))
print(alternative.confidence)
outfile.close()