環境変数のバリデーションチェックの実装
This commit is contained in:
parent
fe26aa38cf
commit
ed55a30bf1
@ -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')
|
||||
@ -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("メルク施設マスタ作成処理を開始します。")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user