Я пишу простое веб-приложение для инициирования конференц-связи с использованием Flask и Twilio API.API Twilio работает так: вы набираете номер с помощью номера Twilio;когда ответит на звонок, Twilio перезвонит URL обратного вызова, который вы указали ранее.Когда обратный вызов вызван, текущий активный вызов будет добавлен в активную комнату конференции.Поэтому проблема с Flask заключается в том, как передать активный сеанс конференции между функциями конечной точки.
Например;
class ConferenceSession(object):
def __init__(self, config):
self._conf_session = SomeTwilioAPI()
def dial_attendee(self, number):
# dial the attendee
SomeTwilioAPI.call(number)
def add_attendee(self):
if self._conf_session:
self._conf_session.SomeTwilioAPI()
# flask app
app = Flask(__name__)
app.route('/conference')
def conference():
for participants in request['participants']:
return conf_session.dial_attendee(participants')
@app.route('/answered')
def answered()
conf_session.add_attendee()
if __name__ == '__main__':
config = ConfConfig()
conf_session = ConferenceSession(config)
app.run()
Сейчас это работает.Но мой проект не упакован должным образом.А также я использую вид глобальной переменной conf_session
.Итак, мой вопрос, как можно заключить приложение Flask
в класс, чтобы к переменной conf_session
можно было обращаться без использования глобальной переменной?Извините, я не могу предоставить MVP, потому что много несвязанного кода для контекста.