2016-05-05 14 views
12

मैं एक विशिष्ट वर्कफ़्लो को परिभाषित करने के लिए एयरफ्लो का उपयोग करने का प्रयास कर रहा हूं जिसे मैं कमांड लाइन से मैन्युअल रूप से ट्रिगर करना चाहता हूं।टर्मिनल से एयरफ्लो डीएजी को ट्रिगर करना

मैं डीएजी बनाता हूं और कार्यों का एक समूह जोड़ता हूं।

dag = airflow.DAG(
    "DAG_NAME", 
    start_date=datetime(2015, 1, 1), 
    schedule_interval=None, 
    default_args=args) 

मैं तो टर्मिनल

airflow trigger_dag DAG_NAME 

और कुछ नहीं होता में चलाते हैं। शेड्यूलर दूसरे धागे में चल रहा है। किसी भी दिशा की बहुत सराहना की है। धन्यवाद

+0

जब आप 'एयरफ्लो list_dags' बनाते हैं तो क्या आप अपना डैग देख सकते हैं? –

उत्तर

5

आपने वर्कफ़्लो को अक्षम कर दिया होगा। वर्कफ़्लो मैन्युअल रूप से सक्षम करने के लिए । http://localhost:8080 करने से

$ airflow webserver -p 8080 

जाओ वायु प्रवाह वेब सर्वर खोलें। आपको टॉगल बटन चालू/बंद के साथ सभी उपलब्ध डैग की सूची देखना चाहिए। डिफ़ॉल्ट रूप से सबकुछ बंद हो जाता है। अपने डैग के लिए खोजें और अपने वर्कफ़्लो को टॉगल करें। अब वर्कफ़्लो टर्मिनल से ट्रिगर करने का प्रयास करें। यह अब काम करना चाहिए।

0

यह भी सुनिश्चित करें कि डीएजी स्वयं यूआई में स्विच हो।

20

मुझे अभी भी एक ही समस्या का सामना करना पड़ा।

मान लिया जाये कि आप airflow list_dags में या तो वेब सर्वर के माध्यम से अपने डेग देखने में सक्षम हैं:

इतना ही नहीं किया था मैं वेब UI में डेग चालू करने के लिए है, लेकिन मैं यह भी कहा कि airflow scheduler चल रहा था सुनिश्चित करने के लिए किया था एक अलग प्रक्रिया के रूप में।

एक बार मैं अनुसूचक चल रहा सफलतापूर्वक मेरी डेग airflow trigger_dag <dag_id>

मेरे डेग विन्यास का उपयोग कर निष्पादित करने में सक्षम था तुम्हारा से काफी अलग नहीं है। मेरे पास schedule_interval=None

+1

मुझे हाल ही में एक ही समस्या का सामना करना पड़ा क्योंकि पोस्टर - यूआई में डीएजी को स्विच करने से मुझे मैन्युअल रन को ठीक करने की अनुमति मिली। धन्यवाद! – AetherUnbound

+0

मुझे एक समान समस्या थी जिसमें 'एयरफ्लो ट्रिगर_डाग' के साथ स्टॉक उदाहरणों में से एक को चलाने का प्रयास किया गया था। उस स्थिति में लापता बिट यह था कि डीएजी को 'example_dags' मॉड्यूल से लोड किया गया था, फिर भी उन्हें' DAGS_FOLDER' में 'शेड्यूलर' के लिए दृश्यमान होना होगा या यह उन्हें जांच नहीं पाएगा। –

1

पहले सुनिश्चित करें कि एयरफ्लो पर आपकी डेटाबेस कनेक्शन स्ट्रिंग काम कर रही है, मौसम पोस्टग्रेज़, एसक्लाइट (डिफ़ॉल्ट रूप से) या किसी अन्य डेटाबेस पर हो। फिर आदेश

airflow initdb 

चलाने यह आदेश किसी तरह के संबंध त्रुटियों

दूसरे यकीन है कि अपने वेब सर्वर एक अलग थ्रेड पर चल रहा है

airflow webserver 

तो एक अलग धागे पर अपने schdeuler चलाने नहीं दिखाया जाना चाहिए

airflow scheduler 

अंत में एक अलग धागा afte पर अपने डेग को गति प्रदान आर अनुसूचक

airflow trigger_dag dag_id 

चल रहा है यह भी सुनिश्चित करें डेग नाम और काम डेग और कार्य सूची

airflow list_dags 
airflow list_tasks dag_id 

में मौजूद हैं और बनाने के डेग तो पर अपने यूआई में बंद है अगर यह टॉगल।

संबंधित मुद्दे