Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
김진영
airflow-test
Commits
d77172e0
Commit
d77172e0
authored
May 23, 2022
by
김진영
Browse files
Update bc-super.py
parent
52e1a075
Changes
1
Hide whitespace changes
Inline
Side-by-side
bc-super.py
View file @
d77172e0
...
@@ -4,7 +4,7 @@ import pendulum
...
@@ -4,7 +4,7 @@ import pendulum
from
airflow.operators.bash
import
BashOperator
from
airflow.operators.bash
import
BashOperator
from
airflow
import
DAG
from
airflow
import
DAG
from
airflow.models
import
Variable
from
airflow.models
import
Variable
from
data.
mart
_data
import
mart
Data
# import
mart
data
from
data.
super
_data
import
super
Data
# import
super
data
from
fail_alert
import
fail_alert
# 실패 시 Teams 알림 발송
from
fail_alert
import
fail_alert
# 실패 시 Teams 알림 발송
# set timezone
# set timezone
...
@@ -19,7 +19,7 @@ with DAG(
...
@@ -19,7 +19,7 @@ with DAG(
#'on_failure_callback': fail_alert
#'on_failure_callback': fail_alert
'on_success_callback'
:
fail_alert
'on_success_callback'
:
fail_alert
},
},
description
=
'dag for
mart
batch jobs'
,
description
=
'dag for
super
batch jobs'
,
schedule_interval
=
'*/1 * * * *'
,
schedule_interval
=
'*/1 * * * *'
,
start_date
=
datetime
(
2022
,
5
,
13
,
tzinfo
=
local_tz
),
start_date
=
datetime
(
2022
,
5
,
13
,
tzinfo
=
local_tz
),
tags
=
[
'test'
],
tags
=
[
'test'
],
...
@@ -28,18 +28,18 @@ with DAG(
...
@@ -28,18 +28,18 @@ with DAG(
# (Task1) 헬스체크
# (Task1) 헬스체크
health_check
=
BashOperator
(
health_check
=
BashOperator
(
task_id
=
'health_check'
,
task_id
=
'health_check'
,
bash_command
=
"curl -X GET -v {api_url}/api/v1/core/health
\'
-H accept: application/json
\'
"
.
format
(
bash_command
=
"
sleep 70;
curl -X GET -v {api_url}/api/v1/core/health
\'
-H accept: application/json
\'
"
.
format
(
api_url
=
Variable
.
get
(
"INF_API_URL"
)
api_url
=
Variable
.
get
(
"INF_API_URL"
)
),
),
)
)
# (Task2)
mart
작업 병렬처리
# (Task2)
super
작업 병렬처리
post_
mart
_tasks
=
[]
post_
super
_tasks
=
[]
for
i
,
data
in
enumerate
(
mart
Data
):
for
i
,
data
in
enumerate
(
super
Data
):
post_
mart
_task
=
BashOperator
(
post_
super
_task
=
BashOperator
(
task_id
=
'post_
mart
'
+
str
(
i
+
1
),
task_id
=
'post_
super
'
+
str
(
i
+
1
),
bash_command
=
"sleep 30; curl -X
\'
POST
\'
\'
%s/api/v1/camera/
mart
/writeimage
\'
-H
\'
Content-Type: application/json
\'
-d
\'
{
\"
id
\"
:
\"
%s
\"
,
\"
pw
\"
:
\"
%s
\"
,
\"
ip
\"
:
\"
%s
\"
,
\"
serialNum
\"
:
\"
%s
\"
,
\"
camName
\"
:
\"
%s
\"
}
\'
"
%
(
bash_command
=
"sleep 30; curl -X
\'
POST
\'
\'
%s/api/v1/camera/
super
/writeimage
\'
-H
\'
Content-Type: application/json
\'
-d
\'
{
\"
id
\"
:
\"
%s
\"
,
\"
pw
\"
:
\"
%s
\"
,
\"
ip
\"
:
\"
%s
\"
,
\"
serialNum
\"
:
\"
%s
\"
,
\"
camName
\"
:
\"
%s
\"
}
\'
"
%
(
Variable
.
get
(
"INF_API_URL"
),
Variable
.
get
(
"INF_API_URL"
),
Variable
.
get
(
"INF_API_ID"
),
Variable
.
get
(
"INF_API_ID"
),
Variable
.
get
(
"INF_API_PW"
),
Variable
.
get
(
"INF_API_PW"
),
...
@@ -49,7 +49,7 @@ with DAG(
...
@@ -49,7 +49,7 @@ with DAG(
),
),
)
)
post_
mart
_tasks
.
append
(
post_
mart
_task
)
post_
super
_tasks
.
append
(
post_
super
_task
)
# 작업 순서 정의
# 작업 순서 정의
health_check
>>
post_
mart
_tasks
health_check
>>
post_
super
_tasks
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment