From 0157bdd3560ef9aadbf4770633a4e7d0d5ea68fb Mon Sep 17 00:00:00 2001 From: Ryo Igarashi Date: Wed, 9 Nov 2022 17:51:12 +0900 Subject: [PATCH 1/2] fix: Remove nested metadata --- .../vschedule-api/src/infra/services/LoggerCloudLogging.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/@neet/vschedule-api/src/infra/services/LoggerCloudLogging.ts b/packages/@neet/vschedule-api/src/infra/services/LoggerCloudLogging.ts index 6fa97cdd..75c505b8 100644 --- a/packages/@neet/vschedule-api/src/infra/services/LoggerCloudLogging.ts +++ b/packages/@neet/vschedule-api/src/infra/services/LoggerCloudLogging.ts @@ -1,5 +1,5 @@ import { LoggingWinston } from '@google-cloud/logging-winston'; -import { config, createLogger, format } from 'winston'; +import { config, createLogger } from 'winston'; import { ILogger } from '../../app/services/Logger'; @@ -8,6 +8,7 @@ const loggingWinston = new LoggingWinston(); export const loggerCloudLogging: ILogger = createLogger({ level: 'info', levels: config.syslog.levels, - format: format.combine(format.metadata(), format.json()), + // 勝手にフォーマットしてくるので要らない + // format, transports: [loggingWinston], }); From 22733d5b376009e64a5773013eb8fc212d254e83 Mon Sep 17 00:00:00 2001 From: Ryo Igarashi Date: Wed, 9 Nov 2022 18:15:05 +0900 Subject: [PATCH 2/2] fix: Add resource name to task registration --- .../@neet/vschedule-api/src/adapters/dal/JobRepository.ts | 4 ++++ .../vschedule-api/src/app/services/AppConfig/AppConfig.ts | 8 ++++++++ .../src/app/services/AppConfig/AppConfigBase.ts | 5 +++++ .../src/infra/services/AppConfigEnvironment.ts | 5 +++++ 4 files changed, 22 insertions(+) diff --git a/packages/@neet/vschedule-api/src/adapters/dal/JobRepository.ts b/packages/@neet/vschedule-api/src/adapters/dal/JobRepository.ts index e19f12ca..d1579f8a 100644 --- a/packages/@neet/vschedule-api/src/adapters/dal/JobRepository.ts +++ b/packages/@neet/vschedule-api/src/adapters/dal/JobRepository.ts @@ -13,6 +13,8 @@ import { TYPES } from '../../types'; @injectable() export class JobRepository implements IJobRepository { + // Can be computed by tasks.queuePath(); + private readonly _resource: string; private readonly _origin: string; private readonly _tasks = new CloudTasksClient(); @@ -24,6 +26,7 @@ export class JobRepository implements IJobRepository { private readonly _logger: ILogger, ) { this._origin = config.entries.server.origin; + this._resource = config.entries.tasks.resources.resubscription; } async queue(job: RefreshJob): Promise { @@ -32,6 +35,7 @@ export class JobRepository implements IJobRepository { const url = origin.toString(); await this._tasks.createTask({ + parent: this._resource, task: { httpRequest: new google.cloud.tasks.v2.HttpRequest({ httpMethod: 'POST', diff --git a/packages/@neet/vschedule-api/src/app/services/AppConfig/AppConfig.ts b/packages/@neet/vschedule-api/src/app/services/AppConfig/AppConfig.ts index 1587fc43..a2db1a0f 100644 --- a/packages/@neet/vschedule-api/src/app/services/AppConfig/AppConfig.ts +++ b/packages/@neet/vschedule-api/src/app/services/AppConfig/AppConfig.ts @@ -16,6 +16,13 @@ export interface IAppConfigServer { readonly origin: string; } +export interface IAppConfigTasks { + readonly resources: { + /** パフォーマーを再講読するタスクのリソース名 */ + readonly resubscription: string; + }; +} + export interface IAppConfigLogger { readonly type: 'console' | 'cloud-logging'; } @@ -25,6 +32,7 @@ export interface IAppConfigEntries { readonly storage: IAppConfigStorage; readonly server: IAppConfigServer; readonly logger: IAppConfigLogger; + readonly tasks: IAppConfigTasks; } export interface IAppConfig { diff --git a/packages/@neet/vschedule-api/src/app/services/AppConfig/AppConfigBase.ts b/packages/@neet/vschedule-api/src/app/services/AppConfig/AppConfigBase.ts index b14b8cbc..31e47c77 100644 --- a/packages/@neet/vschedule-api/src/app/services/AppConfig/AppConfigBase.ts +++ b/packages/@neet/vschedule-api/src/app/services/AppConfig/AppConfigBase.ts @@ -12,6 +12,11 @@ export abstract class AppConfigBase implements IAppConfig { type: entries.storage?.type ?? 'filesystem', bucket: entries.storage?.bucket ?? 'ril', }, + tasks: { + resources: { + resubscription: entries.tasks?.resources?.resubscription ?? '', + }, + }, youtube: { dataApiKey: entries.youtube?.dataApiKey, websubEnabled: entries.youtube?.websubEnabled, diff --git a/packages/@neet/vschedule-api/src/infra/services/AppConfigEnvironment.ts b/packages/@neet/vschedule-api/src/infra/services/AppConfigEnvironment.ts index 8ba141f6..01d33e99 100644 --- a/packages/@neet/vschedule-api/src/infra/services/AppConfigEnvironment.ts +++ b/packages/@neet/vschedule-api/src/infra/services/AppConfigEnvironment.ts @@ -27,6 +27,11 @@ export class AppConfigEnvironment extends AppConfigBase implements IAppConfig { })(), origin: env('ORIGIN'), }, + tasks: { + resources: { + resubscription: env('TASKS_RESUBSCRIPTION_RESOURCE'), + }, + }, logger: { type: env('LOGGER_TYPE'), },