PW
Size: a a a
PW
𝐌🅒
var timeStart = new Date().getTime();
const worker = new Worker(
`./parsers/${ctx.wizard.state.service.link.replace(".", "_")}.js`,
{
workerData: {
url: ctx.wizard.state.data.category,
ads_count: ctx.wizard.state.data.ads_count,
filter: {
max_seller_ads: ctx.wizard.state.data.max_ads_count,
},
},
}
);
worker.on("message", async (res) => {
var timeEnd = new Date().getTime();
await ctx_reply(
ctx,
`<b>✅ Спарсилось ${res.length}/${
ctx.wizard.state.data.ads_count
} объявлений</b>\n\n⏳ Время парсинга: <b>${
(timeEnd - timeStart) / 1000
} сек.</b>`,
{
parse_mode: "HTML",
}
).catch((err) => err);
ctx.updateType = "message";
if (res.length >= 1) {
const parsing = await Parsing.query().insert({
service_id: ctx.wizard.state.service.id,
results: JSON.stringify(res),
});
await functions.getParsedAd(ctx, parsing);
const excel = await writeToExcel(res);
await ctx.replyWithDocument({
source: excel,
filename: "Объявления.xlsx",
});
}
return ctx.scene.leave();
});
worker.on("error", (err) => {
throw new Error();
});VL
𝐌🅒
N
N
VL
PW
𝐌🅒
N
PW
PW
PW
VL
N
PW
N
𝐌🅒