@nger/fk-upload 1.0.77 → 1.0.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -107,7 +107,6 @@ let FkV2Service = class FkV2Service {
107
107
  }
108
108
  }).then(res => {
109
109
  const cookies = res.headers['set-cookie'];
110
- console.log(cookies);
111
110
  return res.data;
112
111
  });
113
112
  }
package/dist/main.js CHANGED
@@ -44,11 +44,11 @@ exports.AppModule = AppModule;
44
44
  process.send('ready');
45
45
  });
46
46
  process.on('uncaughtException', (err) => {
47
- console.log(err.message);
47
+ // console.log(`uncaughtException`, err.message)
48
48
  });
49
49
  process.on('unhandledRejection', (reason, promisen) => {
50
50
  promisen.catch((e) => {
51
- console.log(e.message);
52
- console.log(e.stack);
51
+ // console.log(e.message)
52
+ // console.log(e.stack)
53
53
  });
54
54
  });
@@ -1,9 +1,11 @@
1
1
  import { TaskEntity, TaskManager } from '@nger/rabbitmq';
2
2
  import { Db } from '@nger/typeorm';
3
+ import { Injector } from '@nger/core';
3
4
  export declare class CheckUploadController {
4
5
  private db;
5
6
  private manager;
6
- constructor(db: Db, manager: TaskManager);
7
+ private injector;
8
+ constructor(db: Db, manager: TaskManager, injector: Injector);
7
9
  reupload(): Promise<string>;
8
10
  recheck(): Promise<{
9
11
  msg: string;
@@ -13,9 +13,11 @@ const fs_extra_1 = require("fs-extra");
13
13
  let CheckUploadController = class CheckUploadController {
14
14
  db;
15
15
  manager;
16
- constructor(db, manager) {
16
+ injector;
17
+ constructor(db, manager, injector) {
17
18
  this.db = db;
18
19
  this.manager = manager;
20
+ this.injector = injector;
19
21
  }
20
22
  async reupload() {
21
23
  const task = this.db.manager.getRepository(rabbitmq_1.TaskEntity);
@@ -39,14 +41,20 @@ let CheckUploadController = class CheckUploadController {
39
41
  const download = this.db.manager.getRepository(fk_download_task_entity_1.FkDownloadTaskEntity);
40
42
  // remove to large
41
43
  const largs = await download.find({ where: { totalSize: (0, typeorm_2.MoreThan)(1024 * 1024 * 1024) } });
42
- // remove not use
43
44
  // remove finish
44
- const list = await download.find({ where: { status: (0, typeorm_2.In)([2, 3]) } });
45
+ const list = await download.find({ where: { status: (0, typeorm_2.Not)(1) } });
46
+ // remove not use
47
+ const root = this.injector.get(core_1.APP_ROOT);
48
+ // const uploads = readdirSync(join(root, 'attachments/fk-upload'));
45
49
  const removes = [];
46
50
  Promise.all([...list, ...largs].map(async (item) => {
47
51
  if ((0, fs_1.existsSync)(item.path)) {
48
- await (0, fs_extra_1.unlink)(item.path);
49
- removes.push(item.path);
52
+ try {
53
+ await (0, fs_extra_1.unlink)(item.path);
54
+ await (0, fs_extra_1.unlink)(item.path);
55
+ removes.push(item.path);
56
+ }
57
+ catch (e) { }
50
58
  }
51
59
  }));
52
60
  return { msg: 'succes', removes };
@@ -78,6 +86,6 @@ tslib_1.__decorate([
78
86
  ], CheckUploadController.prototype, "checkSpace", null);
79
87
  CheckUploadController = tslib_1.__decorate([
80
88
  (0, core_1.Controller)(`@nger/fk-upload`),
81
- tslib_1.__metadata("design:paramtypes", [typeorm_1.Db, rabbitmq_1.TaskManager])
89
+ tslib_1.__metadata("design:paramtypes", [typeorm_1.Db, rabbitmq_1.TaskManager, core_1.Injector])
82
90
  ], CheckUploadController);
83
91
  exports.CheckUploadController = CheckUploadController;
@@ -33,7 +33,8 @@ class DownloadTask extends rabbitmq_1.Task {
33
33
  const fail = injector.get(rabbitmq_1.FAIL);
34
34
  const download = await db.manager.findOne(entities_1.FkDownloadTaskEntity, { where: { filename: task.filename } });
35
35
  if (download.status !== 0) {
36
- complete();
36
+ await complete();
37
+ this.downloadingCount -= 1;
37
38
  return next && next();
38
39
  }
39
40
  (0, fs_extra_1.ensureDir)((0, path_1.dirname)(task.path));
@@ -71,16 +72,17 @@ class DownloadTask extends rabbitmq_1.Task {
71
72
  console.log(`file download success ${task.filename}: ${fileMd5}`);
72
73
  const uploadTask = await this.createUploadTask(task, total, fileMd5, injector);
73
74
  await manager.send(uploadTask);
74
- complete();
75
+ await complete();
75
76
  this.downloadingCount -= 1;
76
77
  });
77
78
  req.on('response', async (resp) => {
78
79
  const headers = resp.headers;
79
80
  total = Number(headers["content-length"]);
81
+ console.log(`${task.filename} total is ${total}b`);
80
82
  if (total > 1024 * 1024 * 1024) {
81
83
  console.log(`file is to large`);
82
84
  req.destroy();
83
- complete();
85
+ await complete();
84
86
  this.downloadingCount -= 1;
85
87
  }
86
88
  });
@@ -15,7 +15,7 @@ class EffectTask extends rabbitmq_1.Task {
15
15
  const task = injector.get(rabbitmq_1.DATA);
16
16
  const complete = injector.get(rabbitmq_1.COMPLETE);
17
17
  if (task.uploadUrl.startsWith('https://site')) {
18
- complete();
18
+ await complete();
19
19
  return next && next();
20
20
  }
21
21
  const fail = injector.get(rabbitmq_1.FAIL);
@@ -23,12 +23,15 @@ class EffectTask extends rabbitmq_1.Task {
23
23
  const db = injector.get(typeorm_1.Db);
24
24
  await db.manager.update(entities_1.FkDownloadTaskEntity, task.filename, { status: 3 });
25
25
  if (task.topicId) {
26
- await (0, fs_extra_1.unlink)(task.path);
26
+ try {
27
+ await (0, fs_extra_1.unlink)(task.path);
28
+ }
29
+ catch (e) { }
27
30
  await w7.manager.update(w7_1.W7ChatTopicEntity, task.topicId, { thirdUrl: task.uploadUrl }).then(() => complete()).catch(() => fail());
28
- complete();
31
+ await complete();
29
32
  }
30
33
  else {
31
- complete();
34
+ await complete();
32
35
  }
33
36
  if (next)
34
37
  await next();
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tasksProviders = void 0;
4
4
  const rabbitmq_1 = require("@nger/rabbitmq");
5
5
  const download_task_1 = require("./download-task");
6
+ const effect_task_1 = require("./effect-task");
6
7
  const schedule_task_1 = require("./schedule-task");
7
8
  const upload_task_1 = require("./upload-task");
8
9
  exports.tasksProviders = [
@@ -21,9 +22,9 @@ exports.tasksProviders = [
21
22
  useFactory: () => new upload_task_1.UploadTask(),
22
23
  multi: true
23
24
  },
24
- // {
25
- // provide: Task,
26
- // useFactory: () => new EffectTask(),
27
- // multi: true
28
- // }
25
+ {
26
+ provide: rabbitmq_1.Task,
27
+ useFactory: () => new effect_task_1.EffectTask(),
28
+ multi: true
29
+ }
29
30
  ];
@@ -23,18 +23,24 @@ class UploadTask extends rabbitmq_1.Task {
23
23
  const old = await db.manager.findOne(entities_1.FkDownloadTaskEntity, { where: { filename: task.filename } });
24
24
  // not exist
25
25
  if (!old) {
26
- complete();
26
+ await complete();
27
+ this.runingCount -= 1;
28
+ return next && next();
27
29
  }
28
30
  // > 1G give up
29
31
  if (task.total >= 1024 * 1024 * 1024) {
30
- complete();
32
+ await complete();
33
+ this.runingCount -= 1;
34
+ return next && next();
31
35
  }
32
36
  if (!(0, fs_1.existsSync)(task.path) || (old.fileMd5 && old.fileMd5.length > 0)) {
33
37
  await db.manager.update(entities_1.FkDownloadTaskEntity, task.filename, { status: 0 });
34
- complete();
38
+ await complete();
39
+ this.runingCount -= 1;
40
+ return next && next();
35
41
  }
36
42
  if (old.status === 1) {
37
- if (this.runingCount > 3) {
43
+ if (this.runingCount > 5) {
38
44
  throw new Error(`system is busy`);
39
45
  }
40
46
  this.runingCount += 1;
@@ -49,7 +55,7 @@ class UploadTask extends rabbitmq_1.Task {
49
55
  });
50
56
  }
51
57
  else {
52
- complete();
58
+ await complete();
53
59
  }
54
60
  if (next)
55
61
  await next();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nger/fk-upload",
3
- "version": "1.0.77",
3
+ "version": "1.0.81",
4
4
  "description": "",
5
5
  "main": "dist/core.js",
6
6
  "types": "dist/core.d.ts",