StreamingHttpResponse работает как HTTP-ответ на сервере
Я использую StreamingHttpResponse для SSE, но он работает как и http ответ на сервере
class WorkshopNotificationAPIView(View):
def get(self, request, *args, **kwargs):
res = StreamingHttpResponse(BusinessService.workshop_notification(kwargs.get('workshop'), kwargs.get('type')))
res['Content-Type'] = 'text/event-stream'
return res
def workshop_notification(self, workshop_id: str, workshop_type: str):
initial_data = ""
while True:
data = list(DB['workshop_gocoin_transactions'].find({'workshop_id': workshop_id, 'type': TransactionType.Credit},
{'_id': 0, 'source': 1, 'remark': 1}).sort('created_at',
-1).limit(1))
if data and not initial_data == data[0]:
initial_data = data[0]
yield "\ndata: {}\n\n".format(data[0])
введите описание изображения здесь
введите описание изображения здесь