|
|
@@ -1,5 +1,6 @@ |
|
|
|
"use strict"; |
|
|
|
|
|
|
|
const messageModel = require("../../model/messageModel"); |
|
|
|
const { parseMultipartData, sanitizeEntity } = require("strapi-utils"); |
|
|
|
/** |
|
|
|
* Cron config that gives you an opportunity |
|
|
|
* to run scheduled jobs. |
|
|
@@ -9,21 +10,41 @@ |
|
|
|
* |
|
|
|
* See more details here: https://strapi.io/documentation/developer-docs/latest/concepts/configurations.html#cron-tasks |
|
|
|
*/ |
|
|
|
|
|
|
|
let clients = {}; |
|
|
|
module.exports = { |
|
|
|
"*/3 * * * * *": async () => { |
|
|
|
const draftArticleToPublish = await strapi.api.message.services.message.find( |
|
|
|
"*/10 * * * * *": async () => { |
|
|
|
const session_key = await strapi.api.message.services.message.distinctbyKey( |
|
|
|
{ |
|
|
|
_sort: "send_from:desc", |
|
|
|
_sort: "session_datum_key:desc", |
|
|
|
state: "QUEUE", |
|
|
|
} |
|
|
|
); |
|
|
|
|
|
|
|
draftArticleToPublish.forEach(async (message) => { |
|
|
|
await strapi.api.message.services.message.update( |
|
|
|
{ id: message.id }, |
|
|
|
{ state: "SENT" } |
|
|
|
); |
|
|
|
}); |
|
|
|
session_key.forEach(async (i)=>{ |
|
|
|
if(!Object.keys(clients).includes(`${i["id"]}`)){ |
|
|
|
clients[i["id"]] = null; |
|
|
|
messageModel.loadClient(i["session_data"],async (data)=>{ |
|
|
|
var json = JSON.parse(data); |
|
|
|
if (json["STATUS"] == 1 && json["TYPE"] == "READY") { |
|
|
|
return clients[i["id"]] = json["DATA"]; |
|
|
|
} |
|
|
|
else if(json["STATUS"] ==0){ |
|
|
|
return; |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
}) |
|
|
|
console.log(clients); |
|
|
|
// const messages = await strapi.api.message.services.message.find( |
|
|
|
// { |
|
|
|
// _sort: "session_datum_key:desc", |
|
|
|
// state: "QUEUE", |
|
|
|
// } |
|
|
|
// ); |
|
|
|
// messages.forEach(async (message) => { |
|
|
|
// await strapi.api.message.services.message.update( |
|
|
|
// { id: message.id }, |
|
|
|
// { state: "SENT" } |
|
|
|
// ); |
|
|
|
// }); |
|
|
|
}, |
|
|
|
}; |