Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
气流不启动我的DAG(激活python环境并启动python脚本)_Python_Airflow - Fatal编程技术网

气流不启动我的DAG(激活python环境并启动python脚本)

气流不启动我的DAG(激活python环境并启动python脚本),python,airflow,Python,Airflow,我想安排一个Python作业,每15分钟启动一次。我已经使用过气流,以前从未遇到过任何问题。 我在今天早些时候创建了一个dag,开始日期为15分钟,有两个任务,包括激活一个虚拟Python环境,然后启动一个Python脚本 但是,我的DAG不会自动执行,所以我启动了一个web服务器来检查它的状态,但什么也没发生。一、 因此,尝试使用trigger_dag命令从外部启动它,但其状态仍为running。我真的不明白问题出在哪里,如有任何帮助,我们将不胜感激。我附上了两个气流网络服务器的截图,显示了问

我想安排一个Python作业,每15分钟启动一次。我已经使用过气流,以前从未遇到过任何问题。 我在今天早些时候创建了一个dag,开始日期为15分钟,有两个任务,包括激活一个虚拟Python环境,然后启动一个Python脚本

但是,我的DAG不会自动执行,所以我启动了一个web服务器来检查它的状态,但什么也没发生。一、 因此,尝试使用trigger_dag命令从外部启动它,但其状态仍为running。我真的不明白问题出在哪里,如有任何帮助,我们将不胜感激。我附上了两个气流网络服务器的截图,显示了问题所在

编辑:添加了dags.py文件,以下是我的DAG的定义:

import os
from airflow import DAG
from datetime import datetime, timedelta
from airflow.operators.bash_operator import BashOperator


default_args = {
    'owner': 'test',
    'depends_on_past': False,
    'start_date': datetime(2017,10,13,0,0,0,0),
    'email': ['test@gmail.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=15),
    # 'queue': 'bash_queue',
    # 'pool': 'backfill',
    # 'priority_weight': 10,
    #'end_date': datetime(2017, 9, 23),
}

dag = DAG('dbscan_integ', default_args=default_args)


t_dbscan = BashOperator(
    task_id='job_batch_dbscan',
        bash_command='/home/test/Documents/git_repo/analyser/algo_integ/integration_dbscan/python main_algo.py',
dag=dag)


t_virtual_dbscan = BashOperator(
    task_id='virtual_dbscan',
    bash_command='source activate integdb',
    dag=dag)
t_dbscan.set_upstream(t_virtual_dbscan)

我知道这很愚蠢,但是你有调度程序和工作程序并运行吗


编辑1:


好的,我认为原因是您的dag中没有schedule\u interval,而是您给timedelta(分钟=15)重试\u delay。

如果您还共享dag中的相关代码片段,这将有所帮助。如果您在定义DAG时未将任务分配给DAG,则可能会发生这种情况。@我添加了DAG的代码,但由于参数DAG=DAG,我认为我的任务已正确分配给任务。这不是我注意到并修复的计划间隔。我不明白调度程序必须单独运行,我将在周一进行测试。非常感谢你