処理の始めに環境変数バリデーションチェックの追加
This commit is contained in:
parent
7e778a62f9
commit
40207bcad4
@ -0,0 +1,28 @@
|
||||
from src.batch.environment.jskult_batch_environment import \
|
||||
JskultBatchEnvironment
|
||||
from src.system_var import environment
|
||||
|
||||
|
||||
class TrnResultDataBioLotEnvironment(JskultBatchEnvironment):
|
||||
"""実消化&アルトマークのバッチ処理で使用する環境変数を管理するクラス"""
|
||||
|
||||
def __init__(self):
|
||||
self.BATCH_EXECUTION_ID = environment.BATCH_EXECUTION_ID
|
||||
self.MAX_RUN_COUNT = environment.MAX_RUN_COUNT
|
||||
self.PROCESS_NAME = environment.PROCESS_NAME
|
||||
|
||||
def validate(self):
|
||||
"""
|
||||
必須の環境変数が設定されているかどうか検査する。
|
||||
DB関連の環境変数は対象外とする。
|
||||
|
||||
Raises:
|
||||
EnvironmentVariableNotSetException: 環境変数の設定ミス
|
||||
"""
|
||||
|
||||
super()._assert_variable_not_empty(self.BATCH_EXECUTION_ID, 'BATCH_EXECUTION_ID')
|
||||
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')
|
||||
|
||||
@ -1,13 +1,15 @@
|
||||
import json
|
||||
from src.aws.s3 import JskTransferListBucket
|
||||
from src.batch.environment.dcf_inst_merge_environment import \
|
||||
DCFInstMergeEnvironment
|
||||
from src.batch.jskult_batch_entrypoint import JskultBatchEntrypoint
|
||||
from src.manager.jskult_batch_run_manager import JskultBatchRunManager
|
||||
from src.manager.jskult_batch_status_manager import JskultBatchStatusManager
|
||||
from src.manager.jskult_hdke_tbl_manager import JskultHdkeTblManager
|
||||
from src.batch.jskult_batch_entrypoint import JskultBatchEntrypoint
|
||||
from src.db.database import Database
|
||||
from src.error.exceptions import (BatchOperationException,
|
||||
EnvironmentVariableNotSetException,
|
||||
MaxRunCountReachedException)
|
||||
from src.system_var import environment
|
||||
from src.logging.get_logger import get_logger
|
||||
|
||||
|
||||
@ -19,6 +21,14 @@ logger = get_logger('生物由来卸販売ロット分解')
|
||||
class TrnResultDataBioLot(JskultBatchEntrypoint):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.environment = DCFInstMergeEnvironment
|
||||
|
||||
# 必須の環境変数が設定されていない場合、エラーにする
|
||||
try:
|
||||
self.environment.validate()
|
||||
except EnvironmentVariableNotSetException as e:
|
||||
logger.exception(e)
|
||||
return
|
||||
|
||||
def execute(self):
|
||||
"""生物由来卸販売ロット分解"""
|
||||
@ -27,7 +37,7 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
||||
|
||||
jskult_hdke_tbl_manager = JskultHdkeTblManager()
|
||||
jskult_batch_run_manager = JskultBatchRunManager(
|
||||
environment.BATCH_EXECUTION_ID)
|
||||
self.environment.BATCH_EXECUTION_ID)
|
||||
if not jskult_hdke_tbl_manager.can_run_process():
|
||||
logger.error(
|
||||
'日次バッチ処理中またはdump取得が正常終了していないため、生物由来卸販売ロット分解処理を終了します。')
|
||||
@ -56,10 +66,10 @@ class TrnResultDataBioLot(JskultBatchEntrypoint):
|
||||
transfer_list['jsk_transfer_list']) + len(transfer_list['ult_transfer_list'])
|
||||
|
||||
jskult_batch_status_manager = JskultBatchStatusManager(
|
||||
environment.PROCESS_NAME,
|
||||
self.environment.PROCESS_NAME,
|
||||
# TODO チケットNEWDWH2021-1847の実装で作成した定数に置き換え
|
||||
'post_process',
|
||||
environment.MAX_RUN_COUNT,
|
||||
self.environment.MAX_RUN_COUNT,
|
||||
receive_file_count
|
||||
)
|
||||
try:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user