繁体   English   中英

运行任务 airflow 全部 1 百万

[英]run task airflow all 1 mn

我有个问题。 我想在所有分钟内启动代码并在文件夹中打印文件。 他不会自动运行。 我不明白为什么,因为我有schedule_interval 你能帮助我吗? 谢谢您的帮助 !

    my_dag = DAG(
    dag_id='eval_airflow',
    schedule_interval='* * * * *',
    default_args={
        'owner': 'airflow',
        'start_date': days_ago(0),
    },
    catchup=False
)

# définition de la fonction de récupération des données depuis OpenWeatherMap
def recup_data():
    filepath = '/app/raw_files'

    # création du dossier  '/app/raw_files' de destination des fichiers résultats des requêtes
    if os.path.exists(filepath) == False:
            os.makedirs(filepath, mode = 511, exist_ok= True)
    # positionnement dans le dossier '/app/raw_files'
    os.chdir(filepath)
    # création de la liste des villes pour lesquelles les données météo vont être demandées
    villes = ["paris", "london","washington"]
    
    cities = {}
    for ville in villes:
            r = requests.get(f"https://api.openweathermap.org/data/2.5/weather?q={ville}&appid={api}")
            cities[ville] = r.json()
# obtenir l'heure et la date actuelles
    now = datetime.datetime.now()

# créer un nom de fichier basé sur l'heure et la date
    filename = f"{now.year}-{now.month}-{now.day} {now.hour}:{now.minute}.json"

# ouvrir le fichier en mode écriture
    with open(filename, 'w') as file:
#    # écrire les données au format JSON dans le fichier
            json.dump(cities, file)
            r.status_code
    return r.status_code
                
#recup_data()

task1 = PythonOperator(
    task_id='task1',
    python_callable=recup_data,
    dag=my_dag,
    retry_delay=datetime.timedelta(seconds=30)
)

您需要对开始日期进行硬编码。 你有start_date=days_ago(0)你应该有类似start_date=datetime(2021, 1, 1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM