精华内容
下载资源
问答
  • 当azkaban有并行的两条任务线时,其中一个节点失败,其他未依赖此节点的任务也会被取消。例如C任务失败,另一条线的D任务也被取消了。 可以设置只要满足依赖项,任务都会执行。 设置后的效果 ...

    azkaban在使用默认的设置下。当azkaban有并行的两条任务线时,其中一个节点失败,其他未依赖此节点的任务也会被取消。例如C任务失败,另一条线的D任务也被取消了。

     

     

    可以设置只要满足依赖项,任务都会执行。

     

    设置后的效果

     

    对于失败任务 也可以设置失败重试

     

    retries=5 # 重试次数

    retry.backoff=3000 # 重试间隔时间

    展开全文
  • 最近在做Android项目时遇到这样一个问题:客户端向服务器请求数据,而在网络信号太差的情况下,数据迟迟不到,甚至丢失。... 如何有一个类,在向服务器发出请求的时候就向任务队列中添加一条任务,并...

          最近在做Android项目时遇到这样一个问题:客户端向服务器请求数据,而在网络信号太差的情况下,数据迟迟不到,甚至丢失。服务器为了解决这个问题做了频繁的重发,android 客户端就会收到很多不想要的消息;或者因为消息回来太慢,用户已经失去耐心的去做别的操作了,而那个姗姗来迟的消息的到来就会让用户莫名其妙。
          如何有一个类,在向服务器发出请求的时候就向任务队列中添加一条任务,并启动,等待时间到了以后就丢弃这个任务;在等待时间内如果有相应的响应消息返回的时候,则停掉该任务就解决了这一难题了。
          下面是任务类:

     1 import java.util.TimerTask;
     2 
     3 public class MsgTask extends TimerTask {
     4     private long deltaTime;  //时间增量,及任务执行等待时间
     5     private MsgKey msgKey;
     6     private MsgProcessor msgProcessor = new MsgProcessor();
     7  
     8     public MsgTask(MsgKey msgKey,long deltaTime) {
     9         super();
    10         this.msgKey = msgKey;
    11         this.deltaTime = deltaTime;
    12     }
    13 
    14     public long getDeltaTime() {
    15         return deltaTime;
    16     }
    17 
    18     public void setDeltaTime(long deltaTime) {
    19         this.deltaTime = deltaTime;
    20     }
    21 
    22     public MsgKey getMsgKey() {
    23         return msgKey;
    24     }
    25 
    26     public void setMsgKey(MsgKey msgKey) {
    27         this.msgKey = msgKey;
    28     }
    29 
    30     @Override
    31     public void run() {//等待时间到了以后,就执行
    32         int index = msgKey.getIndex();
    33         msgProcessor.dealOverTimeMsg(index);
    34         MsgManager.removeMsgTask(msgKey);
    35         this.cancel();
    36     }
    37 }

    为了方便对任务队列的管理,可以写一个任务管理类:

     1 import java.util.Collections;
     2 import java.util.HashMap;
     3 import java.util.Map;
     4 import java.util.Timer;
     5 
     6 import android.util.Log;
     7 
     8 public class MsgManager {
     9     private static Timer timer = new Timer();
    10     private static Map<MsgKey, MsgTask> msgTasks = Collections.synchronizedMap(new HashMap<MsgKey, MsgTask>());
    11 
    12     public static void putMsgTask(MsgKey msgKey,MsgTask msgTask) {
    13         synchronized (msgTasks) {
    14             msgTasks.put(msgKey, msgTask);
    15         }
    16     }
    17 
    18     public static void startMsgTask(MsgKey msgKey,MsgTask msgTask) {
    19         putMsgTask(msgKey, msgTask);
    20         timer.schedule(msgTask, msgTask.getDeltaTime());
    21         Log.d("zyr",""+msgKey.getIndex());
    22     }
    23 
    24     public static MsgTask removeMsgTask(MsgKey msgKey) {
    25         MsgTask msgTask = null;
    26         synchronized (msgTasks) {
    27             msgTask = msgTasks.remove(msgKey);
    28         }
    29         return msgTask;
    30     }
    31 
    32     public static boolean stopMsgTask(MsgKey msgKey) {
    33         MsgTask msgTask = removeMsgTask(msgKey);
    34         if (msgTask != null){
    35             msgTask.cancel();
    36             return true;
    37         }
    38         return false;
    39     }
    40 }

    任务需要一个标志,才能方便启动和结束,下面的MsgKey就是用来标记任务的实体类:

     1 public class MsgKey {
     2     private int index;
     3 
     4     public int getIndex() {
     5         return index;
     6     }
     7 
     8     public void setIndex(int index) {
     9         this.index = index;
    10     }
    11  
    12     @Override
    13     public boolean equals(Object obj) {
    14         if (obj instanceof MsgKey) {
    15             MsgKey msgKey = (MsgKey) obj;
    16             return this.index == msgKey.getIndex();
    17         } else {
    18             return false;
    19         }
    20     }
    21 
    22     @Override
    23     public int hashCode() {
    24         return String.valueOf(this.index).hashCode();
    25     }
    26 }

    当然,如果等待超时,一定要有相应的处理的:

     1 public class MsgProcessor {
     2  
     3     /**
     4      * 处理超时的消息
     5      * @param index
     6      */
     7     public void dealOverTimeMsg(int index){
     8         switch (index) {
     9         case 0:
    10              loginOverTimeHandler();
    11              break;
    12 
    13         default:
    14              break;
    15         }
    16     }
    17  
    18     private void loginOverTimeHandler(){
    19         //这里写处理方法
    20     }
    21 }

    值得注意的是:如果需要把任务添加到任务队列后并立即执行,则用startMsgTask方法,结束这个任务时要用stopMsgTask方法,如果没有这个任务 stopMsgTask返回false;如果需要把任务添加到任务队列但不确定什么时候执行,则用putMsgTask方法,结束这个任务时就用removeMsgTask方法就可以了,如果没有这个任务removeMsgTask返回null。

    展开全文
  • 发现个问题:WIN10桌面下的任务栏有很多虚线条,导致窗口打开很多的话就会变的很小,怎么弄?不是要求让虚线看不见,这个锁定任务栏就可以了。我是要求能让窗口展开,不让它占位置。因为目前虚线拖不走,也无法...

    编辑:东方木影院 地点:武汉 时间:2020年2月19日
    发现一个问题:WIN10桌面下的任务栏有很多虚线条,导致窗口打开很多的话就会变的很小,怎么弄?不是要求让虚线看不见,这个锁定任务栏就可以了。我是要求能让窗口展开,不让它占位置。因为目前虚线拖不走,也无法清除。

    东方木的解决方法如下:

    锁定任务栏即可,步骤如下:

    1、首先打开自己的电脑,然后找到任务栏和开始菜单的选项,点击一下即可。
    在这里插入图片描述
    2、然后进入新的界面,找到界面上方的任务栏选项,点击一下。
    在这里插入图片描述
    按住虚线条,拖放到桌面,然后把出来的窗口关闭,点右键——工具栏——把里面不必要的前面的勾去掉。
    就写到这里,发现一个问题:WIN10桌面下的任务栏有很多虚线条。

    这是我的博客请关注:https://blog.csdn.net/a408774953/category_9713409.html
    我所有的博文:https://blog.csdn.net/a408774953
    https://blog.csdn.net/a408774953?t=1
    https://blog.csdn.net/a408774953/article/details/104309582
    https://blog.csdn.net/a408774953/article/details/104320527
    上一篇博文:
    https://blog.csdn.net/a408774953/article/details/104329169

    https://blog.csdn.net/a408774953/article/details/104295451

    展开全文
  • 解决定时器同一时刻执行多条任务时阻塞问题 普通的定时任务,会个执行,当同一时间有多个定时任务启动并且含有数据量比较大的任务时,会阻塞其他的定时任务,这样会产生系列的问题; 解决办法:将定时任务放...

    解决定时器同一时刻执行多条任务时阻塞问题

    普通的定时任务,会一个一个执行,当同一时间有多个定时任务启动并且含有数据量比较大的任务时,会阻塞其他的定时任务,这样会产生一系列的问题;

    解决办法:将定时任务放入线程池

    配置如下:
    1、添加全局@EnableAsync 注解,开启对异步的支持

    @EnableAsync //开启对异步的支持
    @Component
    public class sopServiceRecoveryController {}
    

    2、添加@Async 注解,将该定时任务设置成异步执行

       @Async("executor1")
        @Scheduled(cron = "0 0/5 * * * ?")
        public void test01(){
            logger.info("test01---"+new Date());
            return;
        }
    
        @Async
        @Scheduled(cron = "0 0/5 * * * ?")
        public void test02(){
            logger.info("test02---"+new Date());
            return;
        }
    
        @Async
        @Scheduled(cron = "0 0/5 * * * ?")
        public void test03(){
            logger.info("test03---"+new Date());
            return;
        }
    

    ①@Async(“executor1”)注解可配置进入的线程池名称
    ②该异步执行器每次都会开启一个子线程执行,性能消耗比较大,所以最好是自己配置线程池

    3、配置线程池
    使用@EnableAsync 注解,开启对异步的支持

    @Configuration
    @EnableAsync   //开启对异步的支持
    public class ThreadPoolTaskExecutorConfig {
    
     //配置线程池--线程池01
     @Bean
     public Executor executor1() {
         ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
         executor.setThreadNamePrefix("test-schedule1-");
         executor.setMaxPoolSize(20);
         executor.setCorePoolSize(15);
         executor.setQueueCapacity(0);
         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
         return executor;
     }
    
    }
    

    特别注意:

    没有配置自己的线程池时,会默认使用SimpleAsyncTaskExecutor。

    展开全文
  • 卡片左右滑动 带动任务条滑动 vue

    千次阅读 2019-03-27 15:47:24
    接到任务,做个活动卡片,卡片左右滑动带动卡片上方的任务条走到对应节点: 1、卡片和任务条均为动态生成 2、卡片底部可以左右滑动 3、当一张卡片超过50%的区域展示出来后放手,定位到对应卡片 4、卡片更换...
  • 个hive任务的分析

    千次阅读 2013-10-17 15:03:58
    位开发人员每天跑相同的任务,但是他发现某天同样的任务处理大约差不多量的数据(都是大约4亿,hive count的结果),处理时间却相差3倍之多,个不到个小时,个运行了三个小时,记录一下分析步骤。...
  • 最近配置服务器上自动编译任务时,每次执行完cron任务之后发现home根目录下的msmtp的log文件有个发送失败的log,而接收者为执行cron任务的用户名,事实上是因为cron任务有大量输出到标准设备上,从而出发系统的...
  • ctrl+z的作用是停止任务,要恢复停止的任务要使用fg命令 [root@localhost ~]# jobs [1]+ 已停止 top [root@localhost ~]# fg 1 ...fg [任务序号],直接用fg命令,恢复的是最新停止的一条任务 ...
  • 1. 异步线程+串行队列 新开辟一条线程。串行执行 dispatch_queue_t chuanQue=dispatch_queue_create("chuan", DISPATCH_QUEUE_SERIAL);  dispatch_async(chuanQue, ^{    for (int i=0; i  
  • 答:因为任务在线程中执行的速度比较快,如果给线程池的任务加上休眠任务,那么当Thread1线程的任务休眠10秒等到当前任务完成后...就好像有盘月饼,(前提是甲能吃完整盘)如果你给足了时间让甲去吃,那么就没有...
  • 任务控制块及其链表

    千次阅读 2017-02-15 13:13:49
    在任务控制块的管理上需要两个链表,一条是空任务块链表(其中所有的任务控制块都没有分配给任务)和一条任务块链表(其中所有任务控制块都已分配给任务),具体做法是:
  • QDialog隐藏Qt程序的任务

    千次阅读 2015-02-03 13:33:55
    最近在搞Qt的开发中,遇到个问题,当你要搞个单独漂浮在屏幕上的Widget时,你需要隐藏它的任务。在QWidget的WindowFlag中,并未有直接的选项。 但是办法是人想出来的,看到QWidget的enum Qt::WindowType ...
  • //获取夜间交易金额及夜间交易金额与全天交易金额的占比 SELECT t.sjh, (case when ((toHour(cast(t.jysj as datetime)) >= 23 and toHour(cast(t.jysj as datetime)) <= 24) or (toHour(cast(t.jysj as ...
  • 代码如下: update A set code=B.code,name=B.name from A,B where A.ID=B.ID
  • java定时任务的区别

    2018-07-20 11:29:09
    scheduleWithFixedDelay以固定延迟(时间)来执行线程任务,它不管线程任务的执行时间,每次会把当前任务执行完再根据设置的时间频率去执行下一条任务 scheduleFixedRate,是以固定频率来执行线程任务,它不会管...
  • 任务

    2013-07-23 18:48:40
    刚还说没什么事情,老大就过来分配任务了。 1,写个SSH开发模板,测试并发访问性能;...2,写个工具类,变更数据库中某记录的位置,用最有效的方式实现,并批量更新回数据库。 一定按时、高质量完成!
  • 对于大任务,采用创建... 、通过session共享进度信息  通过session可实现进度信息隔离在每个session中,但存在session超时问题,当大任务执行时间超过20分钟,就存在session超时,进度信息丢失问题。  1、从contr
  • jdk定时任务简述

    2017-07-25 10:15:29
    这里楼主就用了jdk的定时任务,红包结束后执行一条任务。 在java中一个完整的定时任务需要Timer、TimerTask两个类来配合完成.Timer是个定时器,TimerTask是个抽象类,我们通过继承它来 实现我们要执行的任务,再把这
  • 首先来看如何设置一次性任务,命令格式为:at [HH:MM] [yyyy-mm-dd]; 查看一次性任务计划的命令为:“ atq ” ...下面来设置一条周期性任务计划,每隔三天的22:30备份一次 /etc/ 为 /tmp/test.tar.gz ...
  • //c++中不能用max,c++库中有个max,防止重名  int vis[100001]; void DFS(int cnt,int D) //DFS遍历  {  cnt++;  if(cnt>maxLen)  {  maxLen=cnt;  result=D;  }  for(int i=0;i[D].size();i++...
  • 作为最常用的布局元素,DIV在Web开发中起着至关重要的...这个是很常见的任务了,基本是通过CSS去实现滚动。 (1)垂直滚动 设置是否显示滚动主要是在CSS中设置下列的属性: 复制代码 代码如下:
  • [b]PHP执行采集任务,程序写...如果刷新一次页面一次10条都一直在加载,但是却始终都没有完成一条(三个小时候过去了,一条都没有完成)。 但是如果每次只操作一条,却很快的就完成了。一直难以明白,代码都没有改过。
  • 1、在执行定时任务的操作时,先向数据表中insert一条数据,如: insert into ts_job_log(job_log_id,job_id,job_group,job_start_time,job_status) values(1,1,1,sysdate,’正常’); 可以添加成功 当再执行如下操作...
  • 实时任务任务不知道什么时候会到,有可能一分钟来一条,也有可能一秒钟来200条,无法预知任务什么时候会到,只能来到任务之后丢到线程池计算 2. 可预知任务:能够准确知道任务到达,并能够分解出确切的子任务,...
  • 线程在android开发中非常重要,很大程度上决定android app的性能。不会阻碍主线程的操作,并且会把结果发布在主线程上。...AsyncTask(异步任务)是个线程框架,封装了Thread和Handler,异步任务用于短时间的耗时
  • 怎么在windows的任务栏上给程序添加个菜单呢?在任务栏上增加个菜单的做法是什么?
  • 通常用到线程池时,会用到“生产者-消费者”模型。如果项目中不好实现“生产者”这一角色,而是预先开好N条线程,然后让...第一条线程在循环“拉”任务,其他的在阻塞(这样就不占CPU资源了)。2.直到第一条线程拉到
  • 需要导入多个表的数据入库,需要写多个 sqoop export语句,但是在定时任务执行时,只有第个能导入成功。 处理方式:36 16 * * * /home/analysis.sh >> /dev/null 2>&1 加上 >> /dev/null 2>&1 就能导出多
  • 最近突然想到个很熟悉的功能,想QQ一样将窗体隐藏到任务栏状态(taskbar status area),很多软件都有这样的功能,但是从来都没有亲自实现过,今天我就来亲自实现这样的功能。主要涉及到的函数有:WINSHELLAPI ...
  • Delphi由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了种方便、快捷的Windows应用程序开发工具。...今天小编给大家带来的篇教程,怎样使用Delphi让应用程序不在系统任务条上显示呢?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,314
精华内容 8,125
关键字:

一条任务