小编Nou*_*non的帖子

气流:如果一项任务失败,则 DAG 标记为“成功”,因为触发规则 ALL_DONE

我有以下 3 个任务的 DAG:

start --> special_task --> end
Run Code Online (Sandbox Code Playgroud)

中间的任务可以成功也可以失败,但end 必须始终执行(想象一下这是一个干净地关闭资源的任务)。为此,我使用了触发规则 ALL_DONE:

end.trigger_rule = trigger_rule.TriggerRule.ALL_DONE
Run Code Online (Sandbox Code Playgroud)

使用它,end如果special_task失败则正确执行。但是,由于end是最后一个任务并且成功,因此 DAG 始终标记为SUCCESS。

如何配置我的 DAG,以便如果其中一项任务失败,则整个 DAG 被标记为FAILED?

重现的例子

import datetime

from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.utils import trigger_rule

dag = DAG(
    dag_id='my_dag',
    start_date=datetime.datetime.today(),
    schedule_interval=None
)

start = BashOperator(
    task_id='start',
    bash_command='echo start',
    dag=dag
)

special_task = BashOperator(
    task_id='special_task',
    bash_command='exit 1', # force failure
    dag=dag
)

end = BashOperator( …
Run Code Online (Sandbox Code Playgroud)

python-2.7 airflow

8
推荐指数
2
解决办法
1万
查看次数

为什么ServletRequest有setAttribute而不是ServletResponse?

我不明白为什么ServletRequest有一个setAttribute方法.例如:如果我有一个包含1个文本框和提交按钮的jsp页面...

我的目标是当我提交我的名字应该显示在那个文本框中.问题在于:该文本框中显示的是来自servlet的响应吗?

但在我的servlet部分中:它写成了request.setAttribute("name","abc");

在jsp方面:
有人写道:<input type="text" value = < %request.getAttribute("name")% > >

我知道在javadocs中他们已经在内部请求中设置了属性,但为什么不在响应中呢?

jsp servlets

7
推荐指数
3
解决办法
7250
查看次数

如何使用 Gradle java 插件将“illegal-access=deny”传递给单元测试的 JVM 参数?

我有一个测试,当我--illegal-access=deny在 Eclipse 中使用 JVM args 运行它时,该测试正确失败并显示 InaccessibleObjectException 。我希望它在运行时以同样的方式失败gradle check。

我尝试了How to pass args to JVM 中的解决方案,它使用 Gradle 运行测试:

# build.gradle
apply plugin: 'java'

test {
  jvmArgs '--illegal-access=deny'

  # also tried
  # jvmArgs('--illegal-access', 'deny')
  # jvmArgs '-Dillegal-access=deny'
}
Run Code Online (Sandbox Code Playgroud)

测试通过而不是失败。我确实看到测试说它们很脏,因为 jvmArgs 已更改。

这是失败的 JUnit 测试。抱歉,它没有设置“expectedException”,但是--illegal-access=deny从 Eclipse运行时它确实会抛出。

import static org.junit.Assert.fail;

import java.lang.reflect.Field;

import org.junit.Test;


public class IllegalAccessTest {
  @Test
  public void testIllegalAccess() throws NoSuchFieldException, SecurityException {
    Field libraries = ClassLoader.class.getDeclaredField("loadedLibraryNames");
    System.out.println("About to set …
Run Code Online (Sandbox Code Playgroud)

java junit gradle build.gradle gradle-plugin

7
推荐指数
1
解决办法
1422
查看次数

Eclipse 枚举中的自动完成?

编辑:原来这是Eclipse 和枚举/数组初始值设定项的一个长期存在的错误,这真的很不幸。


在 Eclipse 中,我发现我无法访问枚举内部的任何类型的代码完成。这是一个 WIP,当然,我正在使用的代码片段。

enum PlayerState implements State<Player> {

NORMAL(){

    @Override
    public void enter(Player player){

    }

    @Override
    public void update(Player player){

    }

},

JUMP_START(){

    Timer jumpTimer = new Timer();
    public void enter(Player player){
        jumpTimer.set(1);
    }

    public void update(Player player){

    }

},

GLOBAL_STATE(){

    @Override
    public void update(Player player){
    }
};

@Override
public void enter(Player player) {
}

@Override
public void exit(Player player) {
}

@Override
public boolean onMessage(Player player, Telegram telegram) {
    return false;
} …
Run Code Online (Sandbox Code Playgroud)

java eclipse enums completion

5
推荐指数
0
解决办法
690
查看次数

Kubernetes工作节点必须具有完全相同的硬件和操作系统吗?

当我用来构建Hypervisor(即VMWare、Hyper-V等)集群时,所有硬件和软件都必须完全相同。否则,如果其中一个节点出现故障,工作负载可能会遇到“冲突”(即虚拟机不会运行,因为硬件或操作系统不同)。

如果您正在使用服务器机房周围的各种(即传统)硬件(即不同的供应商 [Dell、HPE 等]、不同的 CPU 类型 [即 AMD、Intel 等]、不同的 BIOS 版本、内存)构建 kubernetes 集群尺寸等)。kubernetes 工作节点是否必须具有完全相同的硬件才能使工作负载在集群之间正确平衡(即在节点之间分配工作负载)。

我猜想从操作系统(即发行版/内核、库、模块和服务)开始的所有内容都必须相同。我只是想找到一个我还没有看到好的答案的问题的一般答案?

server-hardware kubernetes kubernetes-cluster

5
推荐指数
2
解决办法
3548
查看次数

如何将 Kubernetes DiskPressure 状态从 true 更改为 false?

创建简单的 nginx 部署后,我的 pod 状态显示为“PENDING”。当我运行 kubectl get pods 命令时,我得到以下信息:

NAME                                READY   STATUS    RESTARTS   AGE
nginx-deployment-6b474476c4-dq26w   0/1     Pending   0          50m
nginx-deployment-6b474476c4-wjblx   0/1     Pending   0          50m
Run Code Online (Sandbox Code Playgroud)

如果我使用 检查我的节点运行状况kubectl describe node,我会得到:

Taints:             node.kubernetes.io/disk-pressure:NoSchedule
Unschedulable:      false
Lease:
  HolderIdentity:  kubernetes-master
  AcquireTime:     <unset>
  RenewTime:       Wed, 05 Aug 2020 12:43:57 +0530
Conditions:
  Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----                 ------  -----------------                 ------------------                ------                       -------
  NetworkUnavailable   False   Wed, 05 Aug 2020 09:12:31 +0530   Wed, 05 Aug 2020 09:12:31 +0530   CalicoIsUp                   Calico is running on this node …
Run Code Online (Sandbox Code Playgroud)

kubernetes

3
推荐指数
1
解决办法
1万
查看次数

如何在 Java 中命名返回 HashMap 的函数?

我知道如何在 Java 中命名 HashMap?,但是构建和分配键的函数的最佳名称是什么?返回的函数Map<State, County> countiesByState可以命名为

sortToState(myCounties)
mapByState(myCounties)
getCountiesByStateMap(myCounties)
getCountiesByState(myCounties)
getMapByState(myCounties)
Run Code Online (Sandbox Code Playgroud)

java naming-conventions

0
推荐指数
1
解决办法
2886
查看次数