- 安装任务所需的依赖【代码执行所需要的依赖】
conda install scikit-learn
- 官方举例文件
demo.py
放置到dags_folder
路径下
文件内容如下:
from datetime import datetime
from airflow import DAG
from airflow.decorators import task
from airflow.operators.bash import BashOperator
# A DAG represents a workflow, a collection of tasks
with DAG(dag_id="demo", start_date=datetime(2022, 1, 1), schedule="0 0 \* \* \*") as dag:
# Tasks are represented as operators
hello = BashOperator(task_id="hello", bash_command="echo hello")
@task()
def airflow():
print("airflow")
# Set dependencies between tasks
hello >> airflow()
- 刷新页面即可看到DAG,点击即可执行,效果如下:
3.自测
- 创建测试文件
airflow_test.py
并放置到dags_folder
目录下
文件内容如下:
from datetime import timedelta
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.utils.dates import days_ago
# DAG属性定义
default_args = {
'owner': 'airFlowTest',
'depends\_on\_past': False,
'start\_date': days_ago(31),
# 填入邮箱,方便失败、重试时发送邮件
'email': ['xxxxx@qq.com'],
# 失败时发邮件告警
'email\_on\_failure': True,
'email\_on\_retry': False,
# 重试次数
'retries': 1,
'retry\_delay': timedelta(minutes=2),
# 'queue': 'bash\_queue',
# 'pool': 'backfill',
# 'priority\_weight': 10,
# 'end\_date': datetime(2016, 1, 1),bu
# 'wait\_for\_downstream': False,
# 'dag': dag,
# 'sla': timedelta(hours=2),
# 'execution\_timeout': timedelta(seconds=300),
# 'on\_failure\_callback': some\_function,
# 'on\_success\_callback': some\_other\_function,
# 'on\_retry\_callback': another\_function,
# 'sla\_miss\_callback': yet\_another\_function,
'trigger\_rule': 'all\_success'
}
# 定义dag
dag = DAG(
'air\_test',
default\_args=default_args,
description='A simple airflow test',
schedule\_interval=timedelta(days=1),
)
step_one = BashOperator(
task\_id='step\_one',
bash\_command='echo step\_one over! >> /root/airflow/file/airflowtest.log',
dag=dag,
)
step_two = BashOperator(
task\_id='step\_two',
depends\_on\_past=False,
bash\_command='echo step\_two over! >> /root/airflow/file/airflowtest.log',
retries=3,
dag=dag,
)
step_three = BashOperator(
task\_id='step\_three',
depends\_on\_past=False,
bash\_command='echo step\_three over! >> /root/airflow/file/airflowtest.log',
retries=3,
dag=dag,
)
step_four = BashOperator(
task\_id='step\_four',
depends\_on\_past=False,
bash\_command='echo step\_four over! >> /root/airflow/file/airflowtest.log',
retries=3,
dag=dag,
)
step_one >> step_two >> step_four
- 执行结果
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!