Commit 954a3dfb30f7a7644240fb0bf36eeab814bf62ae
1 parent
2a8bd35fde
Exists in
master
Hapus debug log pada mutex
Showing 1 changed file with 11 additions and 9 deletions Inline Diff
lib/mutex.js
1 | 'use strict'; | 1 | 'use strict'; |
2 | 2 | ||
3 | const DEBUGMODE = process.env.NODE_ENV !== 'production'; | ||
4 | |||
3 | const locks = require('locks'); | 5 | const locks = require('locks'); |
4 | const logger = require('komodo-sdk/logger'); | 6 | const logger = require('komodo-sdk/logger'); |
5 | 7 | ||
6 | const mutexWaitForOK = locks.createMutex(); | 8 | const mutexWaitForOK = locks.createMutex(); |
7 | const mutexCommand = locks.createMutex(); | 9 | const mutexCommand = locks.createMutex(); |
8 | 10 | ||
9 | const mutexSubCommand = locks.createMutex(); | 11 | const mutexSubCommand = locks.createMutex(); |
10 | 12 | ||
11 | function setLockWaitForOK() { | 13 | function setLockWaitForOK() { |
12 | logger.verbose('Entering MUTEX OK'); | 14 | if (DEBUGMODE) logger.verbose('Entering MUTEX OK'); |
13 | return new Promise((resolve) => { | 15 | return new Promise((resolve) => { |
14 | mutexWaitForOK.lock(() => { | 16 | mutexWaitForOK.lock(() => { |
15 | logger.verbose('MUTEX OK entered'); | 17 | if (DEBUGMODE) logger.verbose('MUTEX OK entered'); |
16 | resolve(true); | 18 | resolve(true); |
17 | }); | 19 | }); |
18 | }); | 20 | }); |
19 | } | 21 | } |
20 | 22 | ||
21 | function releaseLockWaitForOK() { | 23 | function releaseLockWaitForOK() { |
22 | try { | 24 | try { |
23 | logger.verbose('Leaving MUTEX OK'); | 25 | if (DEBUGMODE) logger.verbose('Leaving MUTEX OK'); |
24 | mutexWaitForOK.unlock(); | 26 | mutexWaitForOK.unlock(); |
25 | } catch (e) { | 27 | } catch (e) { |
26 | // | 28 | // |
27 | } | 29 | } |
28 | } | 30 | } |
29 | 31 | ||
30 | function setLockWaitForCommand() { | 32 | function setLockWaitForCommand() { |
31 | logger.verbose('Entering MUTEX Command'); | 33 | if (DEBUGMODE) logger.verbose('Entering MUTEX Command'); |
32 | return new Promise((resolve) => { | 34 | return new Promise((resolve) => { |
33 | mutexCommand.lock(() => { | 35 | mutexCommand.lock(() => { |
34 | logger.verbose('MUTEX Command entered'); | 36 | if (DEBUGMODE) logger.verbose('MUTEX Command entered'); |
35 | resolve(true); | 37 | resolve(true); |
36 | }); | 38 | }); |
37 | }); | 39 | }); |
38 | } | 40 | } |
39 | 41 | ||
40 | function tryLockWaitForCommand() { | 42 | function tryLockWaitForCommand() { |
41 | return mutexCommand.tryLock(); | 43 | return mutexCommand.tryLock(); |
42 | } | 44 | } |
43 | 45 | ||
44 | 46 | ||
45 | function releaseLockWaitForCommand() { | 47 | function releaseLockWaitForCommand() { |
46 | try { | 48 | try { |
47 | logger.verbose('Leaving MUTEX Command'); | 49 | if (DEBUGMODE) logger.verbose('Leaving MUTEX Command'); |
48 | mutexCommand.unlock(); | 50 | mutexCommand.unlock(); |
49 | } catch (e) { | 51 | } catch (e) { |
50 | // | 52 | // |
51 | } | 53 | } |
52 | } | 54 | } |
53 | 55 | ||
54 | function setLockWaitForSubCommand() { | 56 | function setLockWaitForSubCommand() { |
55 | logger.verbose('Entering MUTEX SUBCOMMAND'); | 57 | if (DEBUGMODE) logger.verbose('Entering MUTEX SUBCOMMAND'); |
56 | return new Promise((resolve) => { | 58 | return new Promise((resolve) => { |
57 | mutexSubCommand.lock(() => { | 59 | mutexSubCommand.lock(() => { |
58 | logger.verbose('MUTEX SUBCOMMAND entered'); | 60 | if (DEBUGMODE) logger.verbose('MUTEX SUBCOMMAND entered'); |
59 | resolve(true); | 61 | resolve(true); |
60 | }); | 62 | }); |
61 | }); | 63 | }); |
62 | } | 64 | } |
63 | 65 | ||
64 | function releaseLockWaitForSubCommand() { | 66 | function releaseLockWaitForSubCommand() { |
65 | try { | 67 | try { |
66 | logger.verbose('Leaving MUTEX SUBCOMMAND'); | 68 | if (DEBUGMODE) logger.verbose('Leaving MUTEX SUBCOMMAND'); |
67 | mutexSubCommand.unlock(); | 69 | mutexSubCommand.unlock(); |
68 | } catch (e) { | 70 | } catch (e) { |
69 | // | 71 | // |
70 | } | 72 | } |
71 | } | 73 | } |
72 | 74 | ||
73 | exports.setLockWaitForOK = setLockWaitForOK; | 75 | exports.setLockWaitForOK = setLockWaitForOK; |
74 | exports.releaseLockWaitForOK = releaseLockWaitForOK; | 76 | exports.releaseLockWaitForOK = releaseLockWaitForOK; |
75 | 77 | ||
76 | exports.setLockWaitForCommand = setLockWaitForCommand; | 78 | exports.setLockWaitForCommand = setLockWaitForCommand; |
77 | exports.releaseLockWaitForCommand = releaseLockWaitForCommand; | 79 | exports.releaseLockWaitForCommand = releaseLockWaitForCommand; |
78 | exports.tryLockWaitForCommand = tryLockWaitForCommand; | 80 | exports.tryLockWaitForCommand = tryLockWaitForCommand; |
79 | 81 | ||
80 | exports.setLockWaitForSubCommand = setLockWaitForSubCommand; | 82 | exports.setLockWaitForSubCommand = setLockWaitForSubCommand; |
81 | exports.releaseLockWaitForSubCommand = releaseLockWaitForSubCommand; | 83 | exports.releaseLockWaitForSubCommand = releaseLockWaitForSubCommand; |
82 | 84 |