我编写了一个R脚本,它从数据库中提取一些数据,对其执行多个操作并将输出发布到新数据库.
我希望这个脚本每天都在特定的时间运行,但我找不到任何有效的方法.
任何人都可以推荐我可以看到的资源来解决这个问题吗?我在Windows机器上运行此脚本.
我正在尝试一些代码来实现计划任务,并提出了这些代码.
import java.util.*;
class Task extends TimerTask {
int count = 1;
// run is a abstract method that defines task performed at scheduled time.
public void run() {
System.out.println(count+" : Mahendra Singh");
count++;
}
}
class TaskScheduling {
public static void main(String[] args) {
Timer timer = new Timer();
// Schedule to run after every 3 second(3000 millisecond)
timer.schedule( new Task(), 3000);
}
}
Run Code Online (Sandbox Code Playgroud)
我的输出:
1 : Mahendra Singh
Run Code Online (Sandbox Code Playgroud)
我期望编译器以3秒的周期间隔打印一系列Mahendra Singh,但是尽管等了大约15分钟,我只得到一个输出......我该如何解决这个问题?
如何安排Jenkins构建,以便它只能在每天的特定时间构建?
例如,从下午4点开始
0 16 1-7 * *
Run Code Online (Sandbox Code Playgroud)
我理解为:0分钟,每个月从星期一到星期日下午4点,但它每分钟都会建立:(
我会很感激任何建议.谢谢!
我想编写一个后台作业(EJB 3.1),它每分钟执行一次.为此,我使用以下注释:
@Schedule(minute = "*/1", hour = "*")
Run Code Online (Sandbox Code Playgroud)
这工作正常.
但是,有时候这项工作可能需要一分多钟.在这种情况下,计时器仍然被触发,导致线程问题.
如果当前执行没有完成,是否可以终止调度程序?
我正在开发一个辅助功能应用.当用户想要离开应用程序时,我会显示一个对话框,他必须确认他要离开,如果他在5秒后没有确认对话框应该自动关闭(因为用户可能会意外打开它).这与更改屏幕分辨率时在Windows上发生的情况类似(出现警报,如果您不确认,则会恢复到之前的配置).
这是我显示对话框的方式:
AlertDialog.Builder dialog = new AlertDialog.Builder(this).setTitle("Leaving launcher").setMessage("Are you sure you want to leave the launcher?");
dialog.setPositiveButton("Confirm", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
exitLauncher();
}
});
dialog.create().show();
Run Code Online (Sandbox Code Playgroud)
如何在显示后5秒钟关闭对话框?
我有一个简单的测试方法,设置为每5秒运行一次,但是看看System.out,你可以看到它似乎做了一些奇怪的事情.
@Scheduled(cron="*/5 * * * * ?")
public void testScheduledMethod() {
System.out.println(new Date()+" > Running testScheduledMethod...");
}
Run Code Online (Sandbox Code Playgroud)
输出:
Wed Jan 09 16:49:15 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:15 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:20 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:20 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:25 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:25 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:30 GMT 2013 > Running …Run Code Online (Sandbox Code Playgroud) 这是否正确安排在每15分钟07:00至19:00之间运行?
*/15 07-19 * * * /path/script
Run Code Online (Sandbox Code Playgroud) 在处理固定价格软件开发项目时,我经常发现自己必须估算项目在设定价格之后但在工作开始之前(或者在开发过程中很早)的总小时数.不幸的是,这些类型的项目最好使用迭代/敏捷方法开发,这意味着我们不会(并且实际上不能)进行完整的前期设计.
在典型情况下,我们将签订具有X特征和Y美元的合同.签订合同后,工程部门需要估算完成X功能所需的小时数.预先需要此信息有几个可能的原因,包括:
•Y美元转换为可用的Z小时,因此我们必须确保时间(X)<= Z,可能通过缩小X的范围.
•已设置交货日期,因此我们必须分配适当的资源以满足该日期.
Kelly Waters对估算敏捷有一个有趣的看法:http://www.agile-software-development.com/2009/04/agile-estimating.html不幸的是,这些都是难度的估计,使用积分系统,而不是转换为小时.
在我看来,我们需要能够做两件事之一:
•获得具有大量灵活性的合同,以适应敏捷开发流程.
•弄清楚如何为尚未设计的功能提供合理准确的前期估算.
在大多数情况下,第一种选择当然不是一种选择.有没有人对如何在敏捷开发场景中生成前期估计有任何建议/指导?
或者,有没有人看到通过其他一些流程变化解决我们问题的另一种选择?
我想尝试以下列方式使用@Schedule注释:
public class MyTestServlet extends HttpServlet {
private static JcanLogger LOG = JcanLoggerFactory.getLogger(ServiceTestServlet.class);
@EJB CronService cronService;
public void service(HttpServletRequest req, HttpServletResponse resp) throws .... {
....
cronService.iLive();
}
---
@Local // because the ejb is in a servlet (there is no other jvm)
public interface CronService {
public void iLive();
public void runsEveryMinute();
}
---
@Singleton
public class CronServiceBean implements CronService {
private static final JcanLogger LOG = JcanLoggerFactory.getLogger(CronServiceBean.class);
@Schedule(minute="*")
public void runsEveryMinute() {
LOG.info(" runs EveryMinute ");
}
public …Run Code Online (Sandbox Code Playgroud) 如何配置计划间隔:
@Schedule(persistent=true, minute="*", second="*/5", hour="*")
在应用程序代码之外?