Estoy tratando de configurar una conexión del lado del servidor a una API que analiza y registra continuamente la respuesta JSON de la API en una base de datos MySQL durante todo el día. Mi sitio está configurado como un sitio de WordPress, por lo que cualquier solución específica de WordPress también funciona.
Sé cómo mantener una conexión abierta e imprimir las respuestas a medida que llegan usando Python, por ejemplo. Algo como esto funciona:
import requests
import json
headers = {'Content-Type': 'application/json',
"Authorization": "Bearer api_key_here"}
baseurl="http://stream.url/here"
payload = { 'key_id' : 'key'}
r = requests.get(baseurl, params=payload, headers=headers, stream=True)
print(r.headers)
print('n')
for line in r.iter_lines():
if line:
print(json.loads(line.decode("utf-8")))
El resultado del script anterior se filtra línea por línea a medida que llega del servidor API. Por ejemplo, supongamos que recibo una respuesta como esta cada segundo:
{'type': 'TYPE', 'time': '2019-11-18T21:07:12.422789431Z', 'key1': [{'dat1': '1.10739', 'dat2': 10000000}], 'key2': [{'dat1': '1.10752', 'dat2': 10000000}]}
Lo que estoy tratando de hacer ahora es configurar un script del lado del servidor (preferiblemente en PHP, pero también puedo trabajar con otras soluciones) que básicamente hace esto, excepto que en lugar de imprimir la respuesta, la registra en una tabla de base de datos, en realidad -tiempo, a lo largo del día.
No tengo mucha experiencia configurando un script del lado del servidor como este, así que no estoy seguro de por dónde empezar.
.