fix: ログの修正、ファイル名の日付取得の不具合修正、タイムゾーン利用処理の取り込み

This commit is contained in:
Y_SAKAI 2022-08-02 15:10:14 +09:00
parent 75187e54e9
commit 070763ec8e
8 changed files with 18 additions and 11 deletions

View File

@ -106,8 +106,8 @@ class TargetObject():
@property
def upload_file_name(self) -> str:
if self.__dict_checker.check_key_exist(UPLOAD_FILE_NAME_KEY):
return self.__object_info[UPLOAD_FILE_NAME_KEY].format(execute_datetime=self.__execute_datetime.to_YYYYMMDDHHMMSS)
return f'{self.__object_info[OBJECT_NAME_KEY]}_{self.__execute_datetime.to_YYYYMMDDHHMMSS}'
return self.__object_info[UPLOAD_FILE_NAME_KEY].format(execute_datetime=self.__execute_datetime.to_YYYYMMDDHHMMSS())
return f'{self.__object_info[OBJECT_NAME_KEY]}_{self.__execute_datetime.to_YYYYMMDDHHMMSS()}'
@property
def datetime_column(self) -> str:

View File

@ -44,9 +44,9 @@ def controller() -> None:
# ⑥ 最終結果をチェックし、チェック結果をログに出力
if not all([v == 'success' for v in process_result.values()]):
logger.error('E-CTRL-01 一部のデータ取得に失敗しています。詳細はログをご確認ください。')
logger.error('E-CTRL-01 一部のデータ取得に失敗しています 詳細はログをご確認ください')
else:
logger.info('I-CTRL-19 すべてのデータの取得に成功しました')
logger.info('I-CTRL-19 すべてのデータの取得に成功しました')
# ⑦ CRMデータ取得処理終了ログを出力する
logger.info('I-CTRL-20 CRMデータ取得処理を終了します')

View File

@ -1,8 +1,9 @@
import re
from datetime import datetime, timedelta, timezone
from datetime import datetime
from src.system_var.constants import (CRM_DATETIME_FORMAT, CSV_FALSE_VALUE,
CSV_TRUE_VALUE,
from dateutil.tz import gettz
from src.system_var.constants import (CONVERT_TZ, CRM_DATETIME_FORMAT,
CSV_FALSE_VALUE, CSV_TRUE_VALUE,
DATE_PATTERN_YYYYMMDDHHMMSSFFF_UTC,
YYYYMMDDHHMMSS)
@ -48,7 +49,7 @@ class BooleanConvertStrategy:
class DatetimeConvertStrategy:
def convert_value(self, convert_value: str) -> str:
# データ登録処理がJSTとして登録するため、変換処理内で事前にJSTの日次文字列に変換する
return datetime.strptime(convert_value, CRM_DATETIME_FORMAT).astimezone(timezone(timedelta(hours=+9))).strftime(YYYYMMDDHHMMSS)
return datetime.strptime(convert_value, CRM_DATETIME_FORMAT).astimezone(gettz(CONVERT_TZ)).strftime(YYYYMMDDHHMMSS)
class FloatConvertStrategy:

View File

@ -67,12 +67,14 @@ def fetch_crm_data_process(target_object: TargetObject, last_fetch_datetime: Las
crm_data_response = fetch_sf_data_retry(fetch_soql, target_object_name, data_counter)
logger.info(f'I-FETCH-05 [{target_object_name}] のレコード取得が成功しました')
except Exception as e:
raise SalesforceAPIException(
'E-FETCH-02', FETCH_JP_NAME, f'[{target_object_name}] のレコード取得に失敗しました エラー内容:[{e}]')
# ④ CRMデータ取得処理終了ログを出力する
logger.info(f'I-FETCH-05 [{target_object_name}] のレコード取得が成功しました')
logger.info(f'I-FETCH-06 [{target_object_name}] のCRMからのデータ取得処理を終了します')
# ⑤ 次の処理へ移行する
return crm_data_response

View File

@ -15,6 +15,7 @@ CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT = 'CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT'
CRM_FETCH_RECORD_RETRY_INTERVAL = 'CRM_FETCH_RECORD_RETRY_INTERVAL' # CRMのレコード取得処理のリトライ時の初回待ち秒数
CRM_FETCH_RECORD_RETRY_MIN_INTERVAL = 'CRM_FETCH_RECORD_RETRY_MIN_INTERVAL' # CRMのレコード取得処理のリトライ時の最小待ち秒数
CRM_FETCH_RECORD_RETRY_MAX_INTERVAL = 'CRM_FETCH_RECORD_RETRY_MAX_INTERVAL' # CRMのレコード取得処理のリトライ時の最大待ち秒数
CONVERT_TZ = 'CONVERT_TZ' # CRMデータの日時を変換するときのタイムゾーン
# environments(ECS Task Environment)
CRM_AUTH_DOMAIN = 'CRM_AUTH_DOMAIN' # CRMのAPI実行のための認証エンドポイントのドメイン

View File

@ -35,6 +35,8 @@ CRM_FETCH_RECORD_RETRY_INTERVAL = int(os.environ.get(constants.CRM_FETCH_RECORD_
CRM_FETCH_RECORD_RETRY_MIN_INTERVAL = int(os.environ.get(constants.CRM_FETCH_RECORD_RETRY_MIN_INTERVAL, 5))
# CRMのレコード取得処理のリトライ時の最大待ち秒数
CRM_FETCH_RECORD_RETRY_MAX_INTERVAL = int(os.environ.get(constants.CRM_FETCH_RECORD_RETRY_MAX_INTERVAL, 50))
# CRMデータの日時を変換するときのタイムゾーン
CONVERT_TZ = os.environ.get(constants.CONVERT_TZ, 'Asia/Tokyo')
# environments(ECS Task Environment)
# CRMのAPI実行のための認証エンドポイントのドメイン

View File

@ -14,4 +14,4 @@ class ExecuteDateTime:
return self.__execute_datetime.rstrip(MILLISEC_FORMAT).translate(str.maketrans({'-': '/', 'T': '/', ':': None, '.': None}))
def to_YYYYMMDDHHMMSS(self) -> str:
return self.__execute_datetime.rstrip(MILLISEC_FORMAT).translate(str.maketrans({'-': None, 'T': None, ':': None, '.': None}))
return self.__execute_datetime.rstrip(MILLISEC_FORMAT).translate(str.maketrans({'-': None, 'T': None, ':': None, '.': None}))

View File

@ -13,4 +13,5 @@ CRM_FETCH_RECORD_TIMEOUT=300
CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT=3
CRM_FETCH_RECORD_RETRY_INTERVAL=5
CRM_FETCH_RECORD_RETRY_MIN_INTERVAL=5
CRM_FETCH_RECORD_RETRY_MAX_INTERVAL=50
CRM_FETCH_RECORD_RETRY_MAX_INTERVAL=50
CONVERT_TZ='Asia/Tokyo'