我有一个在 Cloud Composer 上运行的 Airflow 环境(3 个n1-standard-1节点;图像版本:composer-1.4.0-airflow-1.10.0;配置覆盖:核心catchup_by_default=False;PyPI 包:)kubernetes==8.0.1。
在 DAG 运行期间,一些任务(所有 GKEPodOperator)由于气流工作器 pod 驱逐而失败。所有这些任务都设置为retries=0. 其中之一被重新排队并重试。当任务设置为 0 重试时,为什么会发生这种情况?为什么它只会发生在其中一项任务上?
有没有办法阻止两个特质混在一起?
我知道您可以使用自我类型注释来要求仅将特征混入特定类型的类中,但是您可以使用类似的构造来要求目标类不混入特定特征中吗?
例如:
abstract class Collector(p: Boolean)
trait Cache
trait ACache extends Cache { self: Collector => }
trait BCache extends Cache { self: Collector => }
Run Code Online (Sandbox Code Playgroud)
我可以要求任何实现Collector混合的ACache,BCache或者没有缓存的任何特征,但不能ACache和BCache同时?
class GoodCollector(p: Boolean) extends Collector(p) with ACache //legal
class BadCollector(p: Boolean) extends Collector(p) with ACache with BCache //illegal
Run Code Online (Sandbox Code Playgroud)