[英]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.