xiongzhu 10 tháng trước cách đây
mục cha
commit
e7b3497e54
2 tập tin đã thay đổi với 8 bổ sung9 xóa
  1. 2 3
      src/device/device.service.ts
  2. 6 6
      src/task/task.service.ts

+ 2 - 3
src/device/device.service.ts

@@ -28,9 +28,8 @@ import { SendMessageDto } from './dtos/send-message.dto'
 import { SysConfigService } from 'src/sys-config/sys-config.service'
 import * as AsyncLock from 'async-lock'
 import { isAfter, isBefore, parse } from 'date-fns'
-import { Task } from 'src/task/entities/task.entity'
 import { CountryConfigService } from '../country-config/country-config.service'
-import { DestConfig } from 'src/country-config/entities/dest-config.entity'
+import { batchSize } from '../task/task.service'
 
 @Injectable()
 export class DeviceService implements OnModuleInit {
@@ -572,7 +571,7 @@ export class DeviceService implements OnModuleInit {
                     await this.removePinTask(device.id)
                 }
             }
-            let candidateTasks = res.filter((r) => Math.ceil((r.task.total - r.task.sent) / 5 + 10) > r.devices.length)
+            let candidateTasks = res.filter((r) => Math.ceil((r.task.total - r.task.sent) / batchSize + 10) > r.devices.length)
             if (device.matchCountry && device.pinCountry) {
                 candidateTasks = candidateTasks.filter((r) => {
                     return (

+ 6 - 6
src/task/task.service.ts

@@ -39,8 +39,8 @@ import { Device } from '../device/entities/device.entity'
 import Decimal from 'decimal.js'
 import { CountryConfigService } from '../country-config/country-config.service'
 import { TaskResult } from './types'
-import { dashboard } from '../rcs-number/impl/dashboard.service'
-import { smspva } from '../rcs-number/impl/smspva.service'
+
+export const batchSize = 10
 
 @Injectable()
 export class TaskService implements OnModuleInit {
@@ -1277,7 +1277,7 @@ export class TaskService implements OnModuleInit {
 
     //                 devices.forEach((device) => {
     //                     let candidateTasks = res.filter(
-    //                         (r) => Math.ceil((r.task.total - r.task.sent) / 5) > r.devices.length
+    //                         (r) => Math.ceil((r.task.total - r.task.sent) / batchSize) > r.devices.length
     //                     )
     //                     if (device.matchCountry && device.pinCountry) {
     //                         candidateTasks = candidateTasks.filter((r) => {
@@ -1431,7 +1431,7 @@ export class TaskService implements OnModuleInit {
                 taskId: task.id,
                 status: TaskItemStatus.IDLE
             },
-            take: devices.length * 5
+            take: devices.length * batchSize
         })
         if (taskItems.length === 0) {
             return
@@ -1441,7 +1441,7 @@ export class TaskService implements OnModuleInit {
             return
         }
 
-        devices = devices.splice(0, Math.ceil(taskItems.length / 5))
+        devices = devices.splice(0, Math.ceil(taskItems.length / batchSize))
         const taskConfig = {
             singleQty: task.singleQty || (await this.getConfig('single_qty', 1)),
             singleTimeout: task.singleTimeout || (await this.getConfig('single_timeout', 2000)),
@@ -1469,7 +1469,7 @@ export class TaskService implements OnModuleInit {
         Promise.all(
             devices.map(async (device, i) => {
                 const items = taskItems
-                    .slice(i * 5, i * 5 + 5)
+                    .slice(i * batchSize, i * batchSize + batchSize)
                     .map((item) => ({ ...item, message: this.getMessage(task), img: task.img }))
                 if (items.length === 0) return
                 try {