From ed55a30bf1d7221b55b5c73dc71df508e82a8a86 Mon Sep 17 00:00:00 2001 From: "mori.k" Date: Fri, 30 May 2025 15:08:15 +0900 Subject: [PATCH] =?UTF-8?q?=E7=92=B0=E5=A2=83=E5=A4=89=E6=95=B0=E3=81=AE?= =?UTF-8?q?=E3=83=90=E3=83=AA=E3=83=87=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E3=81=AE=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../environment/mst_inst_all_environment.py | 36 +++++++++++++++++++ ecs/jskult-batch/src/batch/mst_inst_all.py | 11 ++++++ 2 files changed, 47 insertions(+) create mode 100644 ecs/jskult-batch/src/batch/environment/mst_inst_all_environment.py diff --git a/ecs/jskult-batch/src/batch/environment/mst_inst_all_environment.py b/ecs/jskult-batch/src/batch/environment/mst_inst_all_environment.py new file mode 100644 index 00000000..0dcf9ece --- /dev/null +++ b/ecs/jskult-batch/src/batch/environment/mst_inst_all_environment.py @@ -0,0 +1,36 @@ +from src.batch.environment.jskult_batch_environment import \ + JskultBatchEnvironment +from src.system_var import environment + + +class MstInstAllEnvironment(JskultBatchEnvironment): + """実消化&アルトマークのバッチ処理で使用する環境変数を管理するクラス""" + + def __init__(self): + self.JSKULT_BACKUP_BUCKET = environment.JSKULT_BACKUP_BUCKET + self.BATCH_MANAGE_DYNAMODB_TABLE_NAME = environment.BATCH_MANAGE_DYNAMODB_TABLE_NAME + self.MAX_RUN_COUNT = environment.MAX_RUN_COUNT + self.PROCESS_NAME = environment.PROCESS_NAME + self.TRANSFER_RESULT_FOLDER = environment.TRANSFER_RESULT_FOLDER + self.TRANSFER_RESULT_FILE_NAME = environment.TRANSFER_RESULT_FILE_NAME + + def validate(self): + """ + 必須の環境変数が設定されているかどうか検査する。 + DB関連の環境変数は対象外とする。 + + Raises: + EnvironmentVariableNotSetException: 環境変数の設定ミス + """ + super()._assert_variable_not_empty( + self.JSKULT_BACKUP_BUCKET, 'JSKULT_BACKUP_BUCKET') + super()._assert_variable_not_empty(self.BATCH_MANAGE_DYNAMODB_TABLE_NAME, + 'BATCH_MANAGE_DYNAMODB_TABLE_NAME') + super()._assert_variable_is_int(self.MAX_RUN_COUNT, 'MAX_RUN_COUNT') + # MAX_RUN_COUNTは数値として扱うため、検査後に変換 + self.MAX_RUN_COUNT = int(self.MAX_RUN_COUNT) + super()._assert_variable_not_empty(self.PROCESS_NAME, 'PROCESS_NAME') + super()._assert_variable_not_empty( + self.TRANSFER_RESULT_FOLDER, 'TRANSFER_RESULT_FOLDER') + super()._assert_variable_not_empty( + self.TRANSFER_RESULT_FILE_NAME, 'TRANSFER_RESULT_FILE_NAME') diff --git a/ecs/jskult-batch/src/batch/mst_inst_all.py b/ecs/jskult-batch/src/batch/mst_inst_all.py index cef6a3fd..af9d1c38 100644 --- a/ecs/jskult-batch/src/batch/mst_inst_all.py +++ b/ecs/jskult-batch/src/batch/mst_inst_all.py @@ -4,9 +4,12 @@ import os.path as path import tempfile from src.aws.s3 import JskSendBucket, JskTransferListBucket +from src.batch.environment.mst_inst_all_environment import \ + MstInstAllEnvironment from src.batch.jskult_batch_entrypoint import JskultBatchEntrypoint from src.db.database import Database from src.error.exceptions import (BatchOperationException, + EnvironmentVariableNotSetException, MaxRunCountReachedException) from src.logging.get_logger import get_logger from src.manager.jskult_batch_run_manager import JskultBatchRunManager @@ -19,6 +22,14 @@ logger = get_logger('メルク施設マスタ作成') class MstInstAll(JskultBatchEntrypoint): def __init__(self): super().__init__() + self.environment = MstInstAllEnvironment() + + # 必須の環境変数が設定されていない場合、エラーにする + try: + self.environment.validate() + except EnvironmentVariableNotSetException as e: + logger.exception(e) + return def execute(self): logger.info("メルク施設マスタ作成処理を開始します。")