我试图在测试环境中测试一个具有多个任务的dag.我能够测试与dag相关的单个任务,但我想在第一个任务的dag和kick中创建几个任务.为了测试我正在使用的dag中的一个任务
task1.run()
哪个正在执行.但是,当我在dag下游一个接一个地完成许多任务时,同样不起作用.
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2015, 6, 1),
'email': ['airflow@example.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
# 'queue': 'bash_queue',
# 'pool': 'backfill',
# 'priority_weight': 10,
# 'end_date': datetime(2016, 1, 1),
}
dag = DAG('tutorial', default_args=default_args)
# t1, t2 and t3 are examples of tasks created by instantiating operators
t1 = BashOperator(
task_id='print_date',
bash_command='date',
dag=dag)
t2 = BashOperator(
task_id='sleep',
bash_command='sleep …Run Code Online (Sandbox Code Playgroud) 如果子表中的关联行已被删除,我想删除父行。
class Child(Base):
__tablename__ = "children"
id = Column(Integer, primary_key=True)
parent_id = Column(Integer, ForeignKey("parents.id", ondelete='CASCADE'))
class Parent(Base):
__tablename__ = "parents"
id = Column(Integer, primary_key=True)
child = relationship(Child, backref="parent", passive_deletes=True)
Run Code Online (Sandbox Code Playgroud)
如果我移除孩子
child_obj = session.query(Child).first()
session.delete(child_obj)
session.commit()
Run Code Online (Sandbox Code Playgroud)
它确实删除了子对象,但父对象保持原样。我也想使用级联删除父级。
我很难弄清楚如何找到在同一天(同一执行日)运行两次的同一个 dag 运行的失败任务。
考虑一个例子,当 dagdag_id=1在第一次运行时失败(由于任何原因,可能是连接超时)并且任务失败。当我们尝试查询时,TaskInstance 表将包含失败任务的条目。伟大的!!
但是,如果我重新运行相同的 dag(注意 dag_id 仍然是 1),那么在最后一个任务中(它的规则是,ALL_DONE无论上游任务是失败还是成功,它都会被执行)我想计算当前 dag_run 中失败的任务数,忽略之前的 dag_runs。我遇到了 dag_run id,如果我们可以将它与 TaskInstance 关联起来,它可能会很有用,但我不能。任何建议/帮助表示赞赏。
我正在为一家企业开发一个安全的网站。我希望它完全免受所有已知漏洞的影响。我遇到了创建安全 cookie 并启用 HTTPOnly 的问题,但在那个例子中,他们使用 cookie 值作为会话 ID。我不明白。用这种方式会不会有威胁?
我想知道基于索引切片 python 列表的有效且优雅的方法是什么。为了提供一个最小的例子:
temp = ['a','b','c','d']
index_needed=[0,2]
Run Code Online (Sandbox Code Playgroud)
如何在没有循环的情况下对列表进行切片?
预期产出
output_list =['a','c']
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,会有办法,但还没有找到。有什么建议么?
我正在努力创造动态的dag,但似乎在一分钟失败.我遇到了两个不同的DAG对象:
from airflow.models import DAG https://airflow.apache.org/concepts.html#latest-run-onlyfrom airflow import DAG https://airflow.apache.org/tutorial.html
这让我很困惑,因为在同一文档中有两种实例化DAG对象的方法.airflow ×3
python ×3
arrays ×1
cookies ×1
java ×1
list ×1
numpy ×1
one-to-many ×1
pytest ×1
python-2.7 ×1
sqlalchemy ×1
unit-testing ×1