Получите последние данные MySQL после обновления - PullRequest
0 голосов
/ 05 июня 2019

Я использую MySQL Node и Redis Stream для получения входящего сообщения об обновлении. Когда вызывается конечная точка API, данные будут обновляться с использованием запроса UPDATE. Если я вызываю SELECT запрос для извлечения данных, я obtained old data before update. Итак, я использовал redis stream для трансляции входящего сообщения и setTimeout в течение 5 секунд для выполнения SELECT запроса. Это работает, но иногда нет из-за обновления базы данных MySQL.

Обновление запроса

await connection.queryAsync('UPDATE ' + dbconfig.property_table + ' SET ? WHERE id = ?',[data,id]);
broadcastMessage('updateProperty',{ id }); // broadcast method send id to incomingMessage

Redis Stream

export async function broadcastMessage (stream, event) {
 await redis.xadd(stream, event) // xadd custom Redis prototype for streaming message
}

// incomingMessage
setTimeout(() => {
  await updateProperty(id);
},5000); // after 5 seconds received incoming message, get latest property  and update to other place.

Задача

Не согласовано получение последних данных свойств после обновления в едином вызове Express API.

Есть ли способ получить (SELECT) последние данные после UPDATE запроса в одном вызванном API?

...