python为什么没有点击就触发_Ai中没有触发的触发器
我的兩個Slack操作符都沒有用下面的代碼觸發。不管成功或失敗,我都不會收到延遲通知。UI也不顯示任何進程已啟動(圖表顯示它們在正確的流中)。它成功地完成了“run_this_first”,并完成了所有10個迭代生成的Python操作符,其中2個在默認情況下被迫失敗以進行測試。在
我嘗試過各種不同的路徑,但得到的結果是一樣的;它從來沒有越過Python操作符。但是,如果我將Slack觸發器設置為dummy,它們都會運行。在from airflow import DAG
from airflow.utils.trigger_rule import TriggerRule
from airflow.operators import PythonOperator, BranchPythonOperator, DummyOperator
from airflow.operators.slack_operator import SlackAPIPostOperator
from datetime import datetime, timedelta
import pyodbc
from datetime import datetime
import os
import urllib.parse
default_args = {
'owner': 'analytics',
'depends_on_past': False,
#'start_date': sixty_days_ago,
'start_date': datetime(2017, 2, 16),
'retries': 0,
'retry_delay': timedelta(minutes=5),
}
dag = DAG(
'Valet_Data',
default_args=default_args,
schedule_interval='*/5 * * * *',
dagrun_timeout=timedelta(seconds=60))
def valet_function(locdata, ds, **kwargs):
print(locdata)
if locdata[0] < 100:
print(intentional_fail)
fac = {
'ABC': [123, 0, 'LOREM'],
'BCD': [234, 11, 'IPSUM'],
'CDE': [345, 22, 'LOREM'],
'DEF': [456, 33, 'IPSUM'],
'EFG': [678, 44, 'LOREM'],
'FGH': [789, 55, 'IPSUM'],
'GHI': [890, 66, 'LOREM'],
'JKL': [901, 77, 'IPSUM'],
'KLM': [12, 88, 'LOREM'],
'LMN': [23, 99, 'IPSUM']
}
slack_success = SlackAPIPostOperator(
task_id='slack_success',
token='redacted',
channel='#airflow',
username='airflow',
text="job {{ dag }} finished at {{ ts }} successfully 8)",
dag=dag,
trigger_rule=TriggerRule.ALL_SUCCESS,
wait_for_downstream=True
)
run_this_first = DummyOperator(task_id='run_this_first', dag=dag)
join = DummyOperator(
task_id='join',
trigger_rule='one_success',
dag=dag
)
join.set_downstream(slack_success)
for loc in fac:
task = PythonOperator(
task_id=loc,
provide_context=True,
python_callable=valet_function,
op_kwargs={'locdata': fac[loc]},
dag=dag)
slack_fail = SlackAPIPostOperator(
task_id='{0}_failure'.format(loc),
token='redacted',
channel='#airflow',
username='airflow',
text="job {{ task }} finished at {{ ts }} successfully 8)",
dag=dag,
trigger_rule=TriggerRule.ONE_FAILED
)
task.set_downstream(slack_fail)
task.set_downstream(join)
task.set_upstream(run_this_first)
總結
以上是生活随笔為你收集整理的python为什么没有点击就触发_Ai中没有触发的触发器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA梦幻之星攻略_梦幻之星2_《梦幻
- 下一篇: 原python基础概念整理_Python