精华内容
下载资源
问答
  • 您应该谈论最终项目,完成任务将要完成的工作以及期望遇到的事情。 该文件应基于PowerPoint,并具有UML和/或ER以及足够的支持信息以说明您的情况。 假使如果此演示文稿不是很好,则您的项目可能会被取消。 此演示...
  • 任务定时器能够完成现有定时软件的大多数功能,其中包括: 任务启动方式: 手动启动  每天的某个时间段启动 (新)  每周某天的某个时间段启动(新)  每月某日的某个时间段启动(新)  每隔N天后启动...
  • cron是Linux系统主要的调度进程,可以再无需人工干预的情况下运行作业 友情提示 centos 6及以下的版本默认安装cron,请自行安装后再看本文章 定时自动重启linux #编辑定时任务 crontab -e #输入以下内容然后保存...


    cron是Linux系统主要的调度进程,可以再无需人工干预的情况下运行作业

    • 友情提示
      centos 6及以下的版本默认未安装cron,请自行安装后再看本文章

    定时自动重启linux

    #编辑定时任务
    crontab -e
    #输入以下内容然后保存,含义:每天的7:30和23:30重启linux
    30 7,23 * * * /sbin/reboot
    #至此定时重启设置完成
    

    参数说明:
    参数1:分钟 30
    参数2:小时 7,23
    参数3:日期 *
    参数4:月份 *
    参数5:星期几 *
    参数6:定时执行的命令或脚本 /sbin/reboot

    cron相关命令

    #编辑cron任务
    crontab -e
    #查看cron任务
    crontab -l
    #查看cron状态
    service crond status
    #启动cron
    service crond start
    #重启cron
    service crond restart
    #设置cron开机启动
    chkconfig --level 2345 crond on
    
    展开全文
  • Quartz有设置可以使定时任务在第一个执行完成时第二个就等待,防止重复执行。 置的xml文件有个concurrent属性,表示job是否可以并行运行,如果该值设置为false,第二个定时任务就会等待第一个定时任务,这种定时...

    quartz本身和spring都提供了设置quartz任务串行的解决办法。

    没有用spring的情况:

    方法1,task实现StatefulJob接口。这个接口在quartz2.0的时候作废了,现在建议使用注解的方式完成串行的配置,不过这个接口依然有效,因为2.0版本的这个接口使用了@DisallowConcurrentExecution和@PersistJobDataAfterExecution的注解。

    方法2,注解@DisallowConcurrentExecution。这个代表设置该任务为串行执行。

    另外:注解@PersistJobDataAfterExecution。这个代表该任务可以支持在任务间使用JobDataMap传递信息,在任务结束时保存信息,不必设置为串行。但如果并行任务使用该注解可能会让JobDataMap中的内容产生不可预知的结果,所以还是强烈建议使用该注解的同时使用@DisallowConcurrentExecution注解。

    然后任务的定义大概是这样的:

    @PersistJobDataAfterExecution

    @DisallowConcurrentExecution

    public class BillingBillTask extends Job {

     

             publicstatic int test=1;

            

             publicvoid executeInternal()throws JobExecutionException {

                       test++;

                       JobDataMapmap=arg0.getJobDetail().getJobDataMap();

                       if(map.get("key")==null){

                                System.out.println("key==null");

                                map.put("key","123");

                       }else{

                                System.out.println("key!=null");

                                System.out.println(map.get("key"));

                       }

             }

    }

     

    用了spring和quartz结合的情况:

    方法1,使用前文没用spring的方法,依然适用。

    方法2,spring-quartz.xml配置文件修改。

    spring提供了几个使用quartz的类:

    第一个类:JobDetailFactoryBean。

    使用这个类,配置文件大概是这样的:

    <bean id="jobDetail7" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">

                       <propertyname="jobClass"value="com.dangdang.tms.job.schedule.bms.BillingBillTask"></property>

                       <propertyname="durability" value="true" />

             </bean>

             <beanid="cronTriggerBean7" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">

                       <propertyname="jobDetail" ref="jobDetail7"></property>

                       <propertyname="cronExpression" value="0/5 * * * * ?"></property>

             </bean>

    task的定义大概是这样的:

    public class BillingBillTask extends QuartzJobBean{

     

             publicstatic int test=1;

            

             @Override

             publicvoid executeInternal(JobExecutionContext arg0)throws JobExecutionException {

                       test++;

    JobDataMap map=arg0.getJobDetail().getJobDataMap();

                       if(map.get("key")==null){

                                System.out.println("key==null");

                                map.put("key","123");

                       }else{

                                System.out.println("key!=null");

                                System.out.println(map.get("key"));

                       }

             }

    }

     

    注:

    1,  task类需要继承QuartzJobBean。

    2,  这个类在spring中没有提供让quartz作业串行执行的配置。如果用了这个类还要串行执行的话,使用@DisallowConcurrentExecution注解吧。

    3,  如果设置了串行执行,JobDetail中的JobDataMap可以在多次执行的任务中传递内容,不会因为任务结束而清空。

     

    第二个类:MethodInvokingJobDetailFactoryBean。

    使用这个类,配置文件大概是这样的:

    <bean id="jobDetail7"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

                       <propertyname="targetObject" ref="billingBillTask"></property>

                       <propertyname="targetMethod" value="executeInternal" />

                       <propertyname="concurrent" value="false" />

             </bean>

             <beanid="billingBillTask"class="com.dangdang.tms.job.schedule.bms.BillingBillTask"/>

             <beanid="cronTriggerBean7" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">

                       <propertyname="jobDetail" ref="jobDetail7"></property>

                       <propertyname="cronExpression" value="0/5 * * * * ?"></property>

             </bean>

     

    task的定义大概是这样的:

    public class BillingBillTask{

             public static int test=1;

             publicvoid executeInternal()throws JobExecutionException {

                       test++;

             }

    }

     

    注:

    1,<propertyname="targetObject"ref="billingBillTask"></property>中的ref不能直接写成value=”com.dangdang.tms.job.schedule.bms.BillingBillTask”这种形式,必须得下面再写个id=”billingBillTask”,原因没研究过。

    2,这种配置中设置的executeInternal方法必须是无参数的,如果设置了参数就会报找不到方法的异常。

    4,  这种配置中,即使设置了串行执行,无法使用JobDataMap来在串行的任务中传递参数,如果需要传递参数的话,另想办法。比如定义一个静态变量之类的。

     

    有misfireThreshold参数,定义过期时间。

    quartz中默认的misfireThreshold是60000,也就是60秒。

    我对这个参数的理解是,一个在串行的时候后面任务被阻碍多久就放弃的参数,比如:

    设置该参数为10秒,定时任务串行执行,20秒执行一次。

    如果第一个任务0秒开始执行,执行到第25秒结束,第二个定时任务应该20s时开始执行,但拖到了25s,与执行时间间隔了5秒,小于配置的10秒,那么第二个定时任务会在第25s,也就是第一个定时任务结束的当时就开始执行。

    如果第一个任务0秒开始执行,执行到第35秒结束,第二个定时任务应该20s开始执行,但拖到了35秒,与执行时间间隔了15秒,大于配置的10秒,那么20s开始执行的任务会放弃,而按照配置中的下次执行时间也就是第40s开始执行。

     

    这个参数在quartz中的配置是这样的:

    org.quartz.jobStore.misfireThreshold: 60000

    在spring中的配置是这样的:(试了一下没有成功,还是按照60秒放弃任务,原因未知)
    <bean id="trigger" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

                       <propertyname="triggers">

                                <list>

                                         <refbean="cronTriggerBean7" />

                                </list>

                       </property>

                       <propertyname="jobFactory">

                                <beanclass="com.dangdang.tms.job.schedule.AutowiredJobFactory"></bean>

                       </property>   

           <property name="applicationContextSchedulerContextKey"value="applicationContextKey" />

           <property name="quartzProperties">  

               <props>

                    <propkey="org.quartz.jobStore.misfireThreshold">10000</prop>  

               </props>  

           </property>

    </bean>

    另外,对于因为串行而错过执行时间的任务,quartz有多种策略,比如:

    withMisfireHandlingInstructionDoNothing:不立即触发,等下次执行时间执行

    withMisfireHandlingInstructionFireAndProceed:立即触发执行

    还有很多其他规则奇葩看起来十分眼晕的策略,没深入研究。

    展开全文
  • 为了解决买票的问题,我们完全能通过电脑跟互联网来完成,本系统就是根据此需求进行开发和设计的。我们开发一个满足用户需求,为用户提供便捷服务的安全稳定的在线电影购票订票系统。 在线电影购票系统是为了提高...
  • 而一甩则又回到台式机的桌面,继续刚才的设计任务写完的文档。甚至某些酷爱美工设计的朋友,该软件甚至可以实现从Window桌面跨越进 Mac机的桌面上,或 Linux 桌面,完美支持跨平台作业。 上面指的一甩,实际上...
  • 实训-----7.24

    2018-07-24 21:26:59
    今日学习任务 复习昨天的知识并完成... 基本完成任务,使四个灯都点亮。 今日中发现问题汇总 无。 今日解决问题 基本解决。 今日开发收获 ...

    今日学习任务

    复习昨天的知识并完成老师的任务。

    今日任务完成情况

    (详细说明本日计划是否按计划完成,开发的代码量)

    基本完成任务,使四个灯都点亮。

    今日中发现问题汇总

    无。

    今日未解决问题

    基本解决。

    今日开发收获

    基本完成

    具体代码:

    #include "stm32f4xx.h"

     

    int main(void)

    {

    int i=0,j=0,k=0;

     

    RCC_AHB1ENR |= (1<<2);

     

    while(1)

    {

    for(i=1;i<=4;i++)

     {

       GPIOC_MODER &= ~(3<<2*i);

       GPIOC_MODER |= (1<<2*i);

     

       GPIOC_OTYPER &= ~(1<<1);

     

       GPIOC_OSPEEDR &= ~(3<<2*i);

       GPIOC_OSPEEDR |= (2<<2*i);

     

       GPIOC_ODR |= (1<<1);

     

       for(j=0;j<100;j++)

      {

    for(k=0;k<500;k++);

    }

    while(i==4)

    i=1;

     }

      }

    }

     

    void SystemInit(void)

    {

    }

    自我评价

     

    尽管过程有着不小挫折,在尝试与讨论中,最后基本实现的功能,

    展开全文
  • 7.25

    2018-07-25 21:21:55
    (详细说明本日任务是否按计划完成,开发的代码量) 基本完成 今日开发中出现的问题汇总 由于路径添加,编译不成功 今日解决问题   ...

    今日学习任务

     

    GPIO

    时钟

    SysTick系统定时器

    日任务完成情况

     

    (详细说明本日任务是否按计划完成,开发的代码量)

    1. 基本完成

    日开发中出现的问题汇总

    由于路径未添加,编译不成功

    日未解决问题

     

    基本解决

     

    今日开发收获

    1.学会了固件库模板的搭建,以及运用模板点亮一个灯

    2.了解了如何在32单片机程序上,用systick定时器编写一个延时函数

    作业

    #ifndef _LED_H

    #define _LED_H

     

    #include "stm32f4xx_gpio.h"

     

    #define GPIO_LED_RCC RCC_AHB1Periph_GPIOC

     

    #define GPIO_LED_Blue GPIOC

    #define GPIO_LED_PIN_Blue GPIO_Pin_1

     

    #define GPIO_LED_PIN_Yellow GPIO_Pin_2

    #define GPIO_LED_PIN_Red GPIO_Pin_3

    #define GPIO_LED_PIN_Green GPIO_Pin_4

     

    void GPIO_LED_Config(void);

     

    #endif

    main文件

    #include "stm32f4xx.h"

     

    #include "LED.h"

     

    int main(void)

    {

    GPIO_LED_Config();

    }

    #include "LED.h"

     

    void GPIO_LED_Config()

    {

       GPIO_InitTypeDef GPIO_InitStruct;

       RCC_AHB1PeriphClockCmd(GPIO_LED_RCC,ENABLE);

     

       GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;

       GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;

       GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;

       GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;

     

       while(1)

     {

       GPIO_InitStruct.GPIO_Pin = GPIO_LED_PIN_Bule;

       GPIO_SetBits(GPIOC , GPIO_LED_PIN_Bule);

     GPIO_Init(GPIOC,&GPIO_InitStruct);

     

       GPIO_InitStruct.GPIO_Pin = GPIO_LED_PIN_Yellow;

     GPIO_SetBits(GPIOC , GPIO_LED_PIN_Yellow);

     GPIO_Init(GPIOC,&GPIO_InitStruct);

     

         GPIO_InitStruct.GPIO_Pin = GPIO_LED_PIN_Red;

     GPIO_SetBits(GPIOC , GPIO_LED_PIN_Red);

     GPIO_Init(GPIOC,&GPIO_InitStruct);

     

         GPIO_InitStruct.GPIO_Pin = GPIO_LED_PIN_Green;

     GPIO_SetBits(GPIOC , GPIO_LED_PIN_Green);

     GPIO_Init(GPIOC,&GPIO_InitStruct);

     }

    }

     

     

     

     

     

     

    展开全文
  • 修正在安装PB6.x的机器上运行程序中设置参数功能出现错误 1.0.2 修正各类注释模版不能保存的问题 在About窗口上增加单击可直接进入写邮件和URL地址 增加单步注释模版支持,取消设置注释分割线长度的做法 ...
  • 实践实训日报 DAY7

    2020-07-13 21:53:33
    项目名称 【苏嵌实训-嵌入式 ... 本日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) 本日开发中出现的问题汇总 本日解决问题 本日解决问题 ...
  • 项目名称 ... (详细说明本日任务是否按计划完成,开发的代码量) 所有任务都已完成 本日开发中出现的问题汇总 无 本日解决问题 ...
  • 第三天

    2020-07-05 21:22:01
    本日任务完成情况 (详细说明本日任务是否按 计划完成,开发的代码量) 循环完成 本日开发中出现的问题汇总 没啥大问题 本日解决...
  • (详细说明本日任务是否按计划完成,开发的代码量) 编写网络编程程序 任务均已完成 本日开发中出现的问题汇总 无 本日解决问题 无 本日...
  • 实践实训日报 DAY6

    2020-07-10 21:41:18
    项目名称 【苏嵌实训-嵌入式 LinuxC 第 6... 本日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) 本日开发中出现的问题汇总 本日解决问题 本日开发收获 ...
  • 学习日志

    2018-07-22 21:52:20
    今日任务完成情况   (详细说明本日任务是否按计划完成,开发的代码量)   今日任务基本完成 今日开发中出现的问题汇总 无 今日解决问题 无 今日开发收获 ...
  • 本日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量) 任务完成 本日开发中出现的问题汇总 感觉自己以前会的已经忘得差不多了 本日解决问题 还有一些命令掌握 本日开发收获 复习及掌握新...
  • 项目子模块设计分析

    2014-12-22 21:28:44
    项目子模块设计说明 1) 需求分析 组长: 1.老师给出项目主题后,在已有小组的条件下,组长可以在某一项目主题下新建项目和关闭已有项目 ...1.组员可以选择一个或多个指派任务,并在规定时间内完成任务
  • 本日任务完成情况 (详细说明本日任务是否按 计划完成,开发的代码量) 完成老师布置任务 本日开发中出现的问题汇总 实现如何进行群聊和私聊 本日解决问题 无 本日开发收获 对服务器与客户端的链接与消息...
  • 物联网实训第八天

    2020-07-12 19:46:05
    本日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量) 本日任务按计划完成完成了四道链表算法题 本日开发中出现的问题汇总 无 本日解决问题 无 本日开发收获 学习了单链表相关知识,并学习...
  • 项目日报表

    2020-07-06 22:02:18
    项目开发日报表 项目名称 苏嵌实训-嵌入式linux C第1天 ...本日任务完成情况(详细说明本日任务是否按计划完成,开发代码量 本日开发中出现的问题汇总 本日解决的问题 本日开发收获 其他 ...
  • 本日任务完成情况 (详细说明本日任务是否按 计划完成,开发的代码量) 作业完成 本日开发中出现的问题汇总 无 本日解决问题 无 本日开发收获 巩固了链表的知识 其他 无 ...
  • 物联网实训第二天

    2020-07-04 22:38:37
    本日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量) 完成情况良好 本日开发中出现的问题汇总 无 本日解决问题 无 本日开发收获 温故知新,感受到学习的乐趣 其他 无 ...
  • 2018.7.30

    2018-07-30 22:15:41
    (详细说明本日任务是否按计划完成,开发的代码量。)   今日任务已按计划完成。 复习了讲过的ppt内容。 今日开发中遇到的问题汇总   今日解决问题 无 今日开发收获 检测开关有两种方法:外部中断,...
  • 2018.9.11

    2018-09-11 18:10:01
    (详细说明本日任务是否按计划完成,开发的代码量) 完成 约300行 今日开发中出现的问题汇总 指针的运用不够熟练 今日解决问题 无 今日开发收获 学会了堆栈 自我评价 (是否按开发规范完成 既定任务,...
  • MMM-MicrosoftToDo是第三方模块,它显示任务列表中的未完成任务,并允许完成这些任务。 这些任务是从Microsoft To Do / Outlook中检索到的。 该模块的目的是在您的镜子上显示一个购物清单,您可以从Microsoft To ...
  • 项目开发日报表——第四天 项目名称 ...本日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) 本日开发中出现的问题汇总 本日解决问题 本日开发收获 其他 ...
  • 项目开发日报表——第三天 项目名称 ...本日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量) 本日开发中出现的问题汇总 本日解决问题 本日开发收获 其他 ...
  • 2018.9.12

    2018-09-12 18:41:03
    (详细说明本日任务是否按计划完成,开发的代码量) 完成 今日开发中出现的问题汇总 链表序列理解有点困难 今日解决问题 无 今日开发收获 学会了两种顺序序列的写法 自我评价 (是否按开发规范完成 既定...
  • 苏嵌日记三

    2018-09-12 23:11:42
    (详细说明本日任务是否按计划完成,开发的代码量) 完成 500行 今日开发中出现的问题汇总 链表序列理解有点困难 今日解决问题 无 今日开发收获 学会了两种顺序序列的写法 自我评价 (是否按开发规范...
  • 工程实训第五天

    2018-10-18 14:50:31
    本日已经按照计划完成任务,开发的代码量600行 本日开发中出现的问题汇总 无 本日解决问题 无 本日开发收获 pthread_creates 创建线程pthread_exit 线程退出强制转换pthread_joi主线程等待子线程的终止...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 433
精华内容 173
关键字:

未完成任务情况说明