我有以下 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) 我不明白为什么ServletRequest有一个setAttribute方法.例如:如果我有一个包含1个文本框和提交按钮的jsp页面...
我的目标是当我提交我的名字应该显示在那个文本框中.问题在于:该文本框中显示的是来自servlet的响应吗?
但在我的servlet部分中:它写成了request.setAttribute("name","abc");
在jsp方面:
有人写道:<input type="text" value = < %request.getAttribute("name")% > >
我知道在javadocs中他们已经在内部请求中设置了属性,但为什么不在响应中呢?
我有一个测试,当我--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) 编辑:原来这是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) 当我用来构建Hypervisor(即VMWare、Hyper-V等)集群时,所有硬件和软件都必须完全相同。否则,如果其中一个节点出现故障,工作负载可能会遇到“冲突”(即虚拟机不会运行,因为硬件或操作系统不同)。
如果您正在使用服务器机房周围的各种(即传统)硬件(即不同的供应商 [Dell、HPE 等]、不同的 CPU 类型 [即 AMD、Intel 等]、不同的 BIOS 版本、内存)构建 kubernetes 集群尺寸等)。kubernetes 工作节点是否必须具有完全相同的硬件才能使工作负载在集群之间正确平衡(即在节点之间分配工作负载)。
我猜想从操作系统(即发行版/内核、库、模块和服务)开始的所有内容都必须相同。我只是想找到一个我还没有看到好的答案的问题的一般答案?
创建简单的 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) 我知道如何在 Java 中命名 HashMap?,但是构建和分配键的函数的最佳名称是什么?返回的函数Map<State, County> countiesByState可以命名为
sortToState(myCounties)
mapByState(myCounties)
getCountiesByStateMap(myCounties)
getCountiesByState(myCounties)
getMapByState(myCounties)
Run Code Online (Sandbox Code Playgroud) java ×3
kubernetes ×2
airflow ×1
build.gradle ×1
completion ×1
eclipse ×1
enums ×1
gradle ×1
jsp ×1
junit ×1
python-2.7 ×1
servlets ×1