summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-07-01 00:50:19 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-07-01 00:50:19 +0900
commit65addc8206f9cbeac5e352f46ed8f07d9aa50257 (patch)
tree455c782103b31efb73b6e5bf4e0abfb3a378931b /src
parentimprove type (diff)
downloadsharkey-65addc8206f9cbeac5e352f46ed8f07d9aa50257.tar.gz
sharkey-65addc8206f9cbeac5e352f46ed8f07d9aa50257.tar.bz2
sharkey-65addc8206f9cbeac5e352f46ed8f07d9aa50257.zip
refactoring
Diffstat (limited to 'src')
-rw-r--r--src/services/chart/core.ts18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/services/chart/core.ts b/src/services/chart/core.ts
index 4a554daa78..14cbd92802 100644
--- a/src/services/chart/core.ts
+++ b/src/services/chart/core.ts
@@ -52,7 +52,7 @@ export default abstract class Chart<T extends Record<string, any>> {
private static readonly columnDot = '_';
private name: string;
- private queue: {
+ private buffer: {
diff: DeepPartial<T>;
group: string | null;
}[] = [];
@@ -330,28 +330,28 @@ export default abstract class Chart<T extends Record<string, any>> {
@autobind
protected commit(diff: DeepPartial<T>, group: string | null = null): void {
- this.queue.push({
+ this.buffer.push({
diff, group,
});
}
@autobind
public async save() {
- if (this.queue.length === 0) {
+ if (this.buffer.length === 0) {
logger.info(`${this.name}: Write skipped`);
return;
}
- // TODO: 前の時間のログがqueueにあった場合のハンドリング
+ // TODO: 前の時間のログがbufferにあった場合のハンドリング
// 例えば、save が20分ごとに行われるとして、前回行われたのは 01:50 だったとする。
- // 次に save が行われるのは 02:10 ということになるが、もし 01:55 に新規ログが queue に追加されたとすると、
+ // 次に save が行われるのは 02:10 ということになるが、もし 01:55 に新規ログが buffer に追加されたとすると、
// そのログは本来は 01:00~ のログとしてDBに保存されて欲しいのに、02:00~ のログ扱いになってしまう。
// これを回避するための実装は複雑になりそうなため、一旦保留。
const update = async (log: Log) => {
const finalDiffs = {} as Record<string, number | unknown[]>;
- for (const diff of this.queue.filter(q => q.group === log.group).map(q => q.diff)) {
+ for (const diff of this.buffer.filter(q => q.group === log.group).map(q => q.diff)) {
const columns = Chart.convertObjectToFlattenColumns(diff);
for (const [k, v] of Object.entries(columns)) {
@@ -378,11 +378,11 @@ export default abstract class Chart<T extends Record<string, any>> {
logger.info(`${this.name + (log.group ? `:${log.group}` : '')}: Updated`);
- // TODO: この一連の処理が始まった後に新たにqueueに入ったものは消さないようにする
- this.queue = this.queue.filter(q => q.group !== log.group);
+ // TODO: この一連の処理が始まった後に新たにbufferに入ったものは消さないようにする
+ this.buffer = this.buffer.filter(q => q.group !== log.group);
};
- const groups = removeDuplicates(this.queue.map(log => log.group));
+ const groups = removeDuplicates(this.buffer.map(log => log.group));
await Promise.all(groups.map(group => this.getCurrentLog(group).then(log => update(log))));
}