Skip to content

Commit 7c24938

Browse files
committed
fix: add pause before calling update project API
This is done because we call it quite immediately after project creation. This may end up, that "project-processor-es" process message about project creation and project update in the wrong order. So to make sure project creation message is processed first by "project-processor-es" we adde delay before calling project update.
1 parent 0f28c28 commit 7c24938

File tree

3 files changed

+22
-3
lines changed

3 files changed

+22
-3
lines changed

src/common/helper.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,20 @@ async function getM2MToken () {
5050
return m2m.getMachineToken(config.AUTH0_CLIENT_ID, config.AUTH0_CLIENT_SECRET)
5151
}
5252

53+
/**
54+
* Do nothing (delay) asynchronous
55+
*
56+
* @param {Number} ms time in milliseconds
57+
*
58+
* @returns {Promise<Number>} timeoutID
59+
*/
60+
async function sleep (ms) {
61+
return new Promise((resolve) => setTimeout(resolve, ms))
62+
}
63+
5364
module.exports = {
5465
getInformixConnection,
5566
getKafkaOptions,
56-
getM2MToken
67+
getM2MToken,
68+
sleep
5769
}

src/constants.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,10 @@ module.exports = {
2424
ACCOUNT_MANAGER_ROLE: 'account_manager',
2525
PROJECT_RESOURCE: 'project',
2626
MEMBER_RESOURCE: 'project.member',
27-
BUGR_CONTEST_TYPE_ID: 900001
27+
BUGR_CONTEST_TYPE_ID: 900001,
28+
/**
29+
* Time in milliseconds which we have to wait before update project using
30+
* Project Service API
31+
*/
32+
SLEEP_MS_BEFORE_UPDATE_PROJECT_BY_API: 3000
2833
}

src/services/ProcessorService.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ const {
1919
MANAGER_ROLE,
2020
ACCOUNT_MANAGER_ROLE,
2121
MANAGER_METADATA_KEY,
22-
ACCOUNT_MANAGER_METADATA_KEY
22+
ACCOUNT_MANAGER_METADATA_KEY,
23+
SLEEP_MS_BEFORE_UPDATE_PROJECT_BY_API
2324
} = require('../constants')
2425

2526
/**
@@ -466,6 +467,7 @@ async function processCreate (message) {
466467
}
467468

468469
// update projects.directProjectId
470+
await helper.sleep(SLEEP_MS_BEFORE_UPDATE_PROJECT_BY_API)
469471
await projectService.updateProject(message.payload.id, { directProjectId })
470472

471473
// commit the transaction after successfully update projects.directProjectId

0 commit comments

Comments
 (0)