Pessoal estou com o seguinte problema. Estou utilizando o bucket para guardar o status de minha conversa, mas o comando get as vezes falha conforme imagem anexa. A falha até então é totalmente aleatória.
Adicionei também o trecho do index.js e do module utilizado para fazer essa gravação, agradeço se puderem me ajudar nesta questão.
***** index.js *****
/* Message Receiver para plain/text */
clientManager.client.addMessageReceiver(‘text/plain’, async function (message) {
const status = await statusController.getStatus(message.from, clientManager.client);
switch (status) {
case 0:
var msg = {
type: "text/plain",
content: "Mensagem 1",
to: message.from,
id: Lime.Guid()
};
clientManager.client.sendMessage(msg);
await statusController.setStatus(message.from, 1, clientManager.client);
break;
**** status-controller ****
let Lime = require(“lime-js”);
var status = 0;
async function setStatus(from, pstatus, client) {
await client.sendCommand({
'id': Lime.Guid(),
'method': 'set',
'uri': `/buckets/${from}?expiration=300000`,
'type': 'application/json',
'resource': {
'status': pstatus
}
}).then(function(res) {;
console.log(`${from} - Status setado: ` + pstatus);
})
.catch(function(err) {
console.log(`${from} - Erro ao setar status: ` + err);
});
}
async function getStatus(from, client) {
var status = 0;
await client.sendCommand({
'id': Lime.Guid(),
'method': 'get',
'uri': `/buckets/${from}`
}).then(function(resStatus) {
status = resStatus.resource.status;
console.log(`${from} - Status atual: ` + status);
})
.catch(function(err) {
status = 999;
console.log(`${from} -Erro ao recuperar status: ` + err);
});
return status;
}
module.exports.getStatus = getStatus;
module.exports.setStatus = setStatus;