Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
A
airflow-dags-hub
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
唐香港
airflow-dags-hub
Commits
4aa15977
Commit
4aa15977
authored
Sep 18, 2019
by
唐香港
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update alarm_flink_job.py
parent
6f8438fc
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
12 deletions
+15
-12
alarm_flink_job.py
dags/flink/alarm_flink_job.py
+15
-12
No files found.
dags/flink/alarm_flink_job.py
View file @
4aa15977
...
...
@@ -24,6 +24,9 @@ SERVICES = [
DINGDING
=
'https://oapi.dingtalk.com/robot/send?access_token=4e00d7f7b3b8686ea7d37bd01264f86e197294f9f995ef8e12cc853760a30c60'
DING_PATH
=
'/opt/bitnami/airflow/dags/*/script/ding.sh'
logging
.
basicConfig
(
level
=
logging
.
INFO
)
logger
=
logging
.
getLogger
(
__name__
)
class
TimeoutError
(
Exception
):
pass
...
...
@@ -70,12 +73,12 @@ def failure_callback(context):
\n
> **For more details, please check the airflow task log.**
'''
%
(
context
[
'task_instance'
]
.
task_id
,
context
[
'task_instance'
]
.
dag_id
,
context
[
'task_instance'
]
.
task_id
,
context
[
'exception'
])
logg
ing
.
error
(
'message :
\n
'
+
message
)
logg
er
.
error
(
'message :
\n
'
+
message
)
cmd
=
" bash "
+
DING_PATH
+
"
\'
%
s
\'
\'
%
s
\'
\'
%
s
\'
"
%
(
title
,
message
,
DINGDING
)
os
.
system
(
cmd
)
def
get_jobs
(
cmd
):
logg
ing
.
info
(
'exec cmd:'
+
cmd
)
logg
er
.
info
(
'exec cmd:'
+
cmd
)
jobs_dict
=
{}
timeout
=
10
...
...
@@ -83,8 +86,8 @@ def get_jobs(cmd):
(
stdout
,
stderr
)
=
run_command
(
cmd
,
timeout
)
stdout
=
stdout
.
decode
()
stderr
=
stderr
.
decode
()
logg
ing
.
info
(
stderr
)
logg
ing
.
info
(
stdout
)
logg
er
.
info
(
stderr
)
logg
er
.
info
(
stdout
)
if
'Could not resolve host'
in
stderr
and
not
stdout
:
msg
=
'
\n
- **error_msg**: Could not resolve host
%
s'
%
(
cmd
)
...
...
@@ -95,36 +98,36 @@ def get_jobs(cmd):
jobs_dict
=
json
.
loads
(
stdout
)
if
'errors'
in
jobs_dict
:
msg
=
'
\n
- **errors**: '
+
jobs_dict
[
'errors'
][
0
]
logg
ing
.
error
(
msg
)
logg
er
.
error
(
msg
)
raise
Exception
(
msg
)
except
TimeoutError
:
msg
=
'
\n
- **error_msg**: excute command=(
%
s) timeout after
%
i s'
%
(
cmd
,
timeout
)
logg
ing
.
error
(
msg
)
logg
er
.
error
(
msg
)
raise
Exception
(
msg
)
return
jobs_dict
def
judge_job_status
(
job
):
if
'errors'
in
job
:
msg
=
"
\n
- **errors**:
%
s"
%
(
job
[
'errors'
])
logg
ing
.
error
(
msg
)
logg
er
.
error
(
msg
)
return
(
False
,
msg
)
if
'RUNNING'
!=
job
[
'status'
]:
msg
=
"
\n
- **job_id**:
%
s, **status**:
%
s"
%
(
job
[
'id'
],
job
[
'status'
])
logg
ing
.
error
(
msg
)
logg
er
.
error
(
msg
)
return
(
False
,
msg
)
msg
=
"
\n
- **job_id**:
%
s, **status**:
%
s"
%
(
job
[
'id'
],
job
[
'status'
])
logg
ing
.
info
(
msg
)
logg
er
.
info
(
msg
)
return
(
True
,
msg
)
def
python_callable
(
**
kwargs
):
logg
ing
.
info
(
'start kafka connect status analyze .'
)
logg
er
.
info
(
'start kafka connect status analyze .'
)
curl
=
'curl '
flink_jobmanager_url
=
'http://'
+
kwargs
[
'task_instance'
]
.
task_id
+
':8081/jobs/'
jobs_dict
=
get_jobs
(
curl
+
flink_jobmanager_url
)
logg
ing
.
info
(
'exec cmd: '
+
curl
+
flink_jobmanager_url
+
' success!'
)
logg
er
.
info
(
'exec cmd: '
+
curl
+
flink_jobmanager_url
+
' success!'
)
jobs_list
=
jobs_dict
[
'jobs'
]
error_msg
=
""
...
...
@@ -141,7 +144,7 @@ def python_callable(**kwargs):
msg
=
"
\n
- **running_job/all_job**:
%
s/
%
s"
%
(
running_job
,
all_job
)
error_msg
+=
msg
raise
Exception
(
error_msg
)
logg
ing
.
info
(
'Flink job status ok!'
)
logg
er
.
info
(
'Flink job status ok!'
)
for
service
in
SERVICES
:
task
=
PythonOperator
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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