标签: scheduled-tasks

最佳实践如何安排symfony2动作

我的基于symfony2的应用程序必须在不同的时刻和不同的频率上做一些独立的工作.例如,发送简报,编辑报告......

我希望能够从应用程序添加/编辑每个任务我的任务将非常接近cron作业,并将包括调用特定的URL.

在我看来,我的观点是 :

我想创建一个每半小时或十分钟启动一个脚本的cron作业.这个脚本只做一个curl命令,得到一个docronjob动作.这个docronjobaction在symfony里面,负责完成所有任务并启动它所拥有的任务.

我的问题是:

  • 是否有更清洁的方式来实现这一目标?
  • 在docronaction内部我如何启动其他行动?
  • 如何设置整个控制器的时间限制为0?
  • 这样做的捆绑包是否已存在?

cron scheduled-tasks symfony

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

我的应用程序失败时如何通知Windows任务计划程序?

我在任务计划程序中安排了WPF应用程序.

我想在应用程序失败时通知Task Scheduler.

在任务计划程序窗口Task Status的列中的部分中,即使应用程序抛出内部异常Run Result,我也总能得到Success.

Application.Current.Shutdown(1)试图通知任务计划程序失败,但我没有成功.

如何才能做到这一点?

c# wpf scheduled-tasks

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

在Windows启动时运行脚本而无需用户登录

这是一台每天早上都打开的Windows 2003计算机,但直到几个小时后才会登录.

我想用它们之间的时间来运行备份脚本c:\ script\backup.cmd

机器启动后如何才能无人值守?

我尝试了2个注册表项,但这导致脚本在用户登录后运行(为时已晚):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
Run Code Online (Sandbox Code Playgroud)

最后我使用了Windows TaskScheduler,他有这样的选择,但我想知道是否还有其他可能性?

windows cron startup scheduled-tasks

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

如何每72分钟做一次cron工作

如何每72分钟运行一次cron作业?还是有些不那么漂亮?

cron scheduled-tasks hour

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

"偷工作"与"工作耸肩"?

为什么我能找到很多关于"工作窃取"的信息,而没有关于"工作耸肩"的信息作为动态负载均衡策略?

通过"工作耸肩",我的意思是多余的工作从繁忙的处理器推到负载较小的邻居,而不是让闲置的处理器从繁忙的邻居那里工作("偷工作").

我认为两种策略的一般可扩展性应该相同.但是我认为,就延迟和功耗而言,在确实有工作要做的时候唤醒空闲处理器,而不是让所有空闲处理器周期性地轮询所有邻居以进行可能的工作,它会更有效率.

无论如何,一个快速谷歌没有出现在"工作耸肩"或类似标题下的任何东西,所以任何指向现有技术的指针和这个策略的行话将是受欢迎的.

澄清

我实际上设想工作提交处理器(可能是或可能不是目标处理器)负责查看首选目标处理器的直接位置(基于数据/代码位置)以决定是否应该给予近邻相反,因为他们没有那么多的工作要做.

我不认为决策逻辑在这里需要的不仅仅是对立即(通常是2到4个)邻居的估计q长度的原子读数.我不认为这种情况不会超过盗贼从他们的邻居那里进行民意调查和偷窃所暗示的.(我在两种策略中都假设"无锁,无等待"队列).

解析度

似乎我的意思(但只是部分描述!)作为"工作耸肩"策略是在"正常"的前期调度策略领域,恰好是关于处理器,缓存和内存忠诚以及可扩展的.

我发现很多参考文献都在搜索这些术语,其中一些看起来非常可靠.当我发现一个最符合(或拆除!)逻辑时,我会用我的"工作耸肩"的定义发表参考文献.

terminology load-balancing scheduling scheduled-tasks multiprocessor

14
推荐指数
3
解决办法
4192
查看次数

Web应用程序中的计划任务?

我正在为在线游戏构建统计应用程序,使用Java中的servlet API构建(将部署在Tomcat上).每次用户登录时,让游戏向stats服务器发送消息都很容易,因为处理请求是Servlets/Tomcat的用途.

我还需要定期在统计服务器上发起请求,例如从游戏服务器检索在线用户的数量或从我们的Facebook页面检索粉丝数量.

在应用程序的主servlet中启动一个线程并让它偶尔进行数据检索会很容易,但是感觉有点奇怪,因为所有其他线程都是由Tomcat创建的.

  1. 这样做好吗?
  2. 如果没有,推荐的方法是什么?
  3. 在这样的事情上使用servlet是否正确?有什么选择?

请注意第一个答案:我不是在寻找解决时序或并发问题的方法,因为我可以轻松处理这两个问题.我只需要知道如何在servlet容器中正确启动主动进程.

java tomcat servlets scheduled-tasks tomcat6

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

SchTasks.exe创建任务文件夹

是否有命令在Windows 2008中创建计划任务文件夹?我正在尝试使用SchTasks.exe来创建任务,并希望将这些任务放在任务文件夹下.实质上,在任务调度程序内部,添加一个新文件夹并在该文件夹下添加多个任务.从UI可以选择创建文件夹,但不确定命令参考

提前致谢

scheduled-tasks windows-server-2008

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

如何每小时呼叫功能?另外,我该如何循环呢?

我需要一种简单的方法来每60分钟调用一次函数.我怎样才能做到这一点?我正在制作一个MineCraft bukkit插件,这就是我所拥有的:

package com.webs.playsoulcraft.plazmotech.java.MineRegen;

import java.util.logging.Logger;

import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;


public class Main extends JavaPlugin{

    public final Logger log = Logger.getLogger("Minecraft");


    @Override
    public void onEnable() {
        this.log.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
        this.log.info("Plaz's Mine Regen is now enabled!");
        this.log.info("Copyright 2012 Plazmotech Co. All rights reserved.");
        this.log.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    }

    @Override 
    public void onDisable() {
        this.log.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
        this.log.info("Plaz's Mine Regen is now disabled!");
        this.log.info("Copyright 2012 Plazmotech Co. All rights reserved.");
        this.log.info("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    }

    public void onPlayerInteract(PlayerInteractEvent event) {
        final Action action = event.getAction();
        if …
Run Code Online (Sandbox Code Playgroud)

java timer scheduled-tasks

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

Dropwizard ScheduledExecutorService

在我的情况下,我需要运行一些计划任务(例如每分钟)在DB中进行一些检查,如果需要,还需要一些子任务.这应该是没有DB健康检查!

DW文档说:

"应该注意,Environment有针对ExecutorService和ScheduledExecutorService实例的内置工厂方法.有关详细信息,请参阅LifecycleEnvironment#executorService和LifecycleEnvironment#scheduledExecutorService."

有谁知道如何在DW中实现这一点?试着玩DW代码的可能性,我发现了这个:

String nameFormat = "?What should this string contain?";
ScheduledExecutorServiceBuilder sesBuilder = environment.lifecycle().scheduledExecutorService(nameFormat);
ScheduledExecutorService ses = sesBuilder.build();
Runnable alarmTask = new AlarmTask();
ses.scheduleWithFixedDelay(alarmTask, 0, 5, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)

这是DW中正确的方法吗?BTW一个可运行的假人:

  private static final class AlarmTask implements Runnable {
      DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
      Calendar cal = Calendar.getInstance();
        @Override public void run() {
          ++fCount;

            cal = Calendar.getInstance();
            System.out.println(fCount + "x BEEP:" + dateFormat.format(cal.getTime()));
        }
        private int fCount;
      }
Run Code Online (Sandbox Code Playgroud)

什么是初始名称的目的,是否在某处使用?希望有人能提供帮助.

java scheduled-tasks dropwizard

14
推荐指数
1
解决办法
6803
查看次数

Spring ThreadPoolTask​​Scheduler vs ThreadPoolTask​​Executor

这是中提到的Spring文档是:

ThreadPoolTaskScheduler实际上也实现了Spring的TaskExecutor接口,因此单个实​​例可以尽快用于异步执行,也可以用于计划和可能重复执行.

那么我们想要在ThreadPoolTaskExecutor实例上使用实例的场景是哪些ThreadPoolTaskScheduler

我目前正在使用Spring XML.我正在创建ThreadPoolTaskScheduler如下bean :

<task:scheduler id="myScheduler" pool-size="1"/>
Run Code Online (Sandbox Code Playgroud)

ThreadPoolTaskExecutor实例的bean 可以创建为

<task:executor id="executor" pool-size="10"/>
Run Code Online (Sandbox Code Playgroud)

spring scheduled-tasks task executor threadpoolexecutor

14
推荐指数
1
解决办法
6821
查看次数