Articles of 调度任务

Grunt:当函数不能被分割到不同的任务时,如何依次运行一个函数,然后是一个任务,然后是另一个函数?

我正在使用Grunt来生成一个构build。 我是Grunt,javascript和nodejs的新手,所以任何新的观点都会受到欢迎。 我的Gruntfile中的一些任务依赖于插件(比如用于javascript缩小的“uglify”),而另外一些工作stream程最适合于自己编写javascript函数。 (1)执行一个javascript函数(2)在该函数之后立即执行一个grunt任务(3)执行另一个javascript函数。 它需要按照这个顺序发生。 但是,由于Grunt只是一个任务调度程序,所以在(1)和(3)完成之后,它将作为最后一步运行(1),排队(2),运行(3),然后运行(2)。 以下是一个非常简单的假设自定义任务的用例,以更好地解释情况。 grunt.task.registerTask('minifyJS', function() { jsFilepathMapping = configureUglifiy(); /** note – configureUglify is needed because the minification filepaths are generated on the fly, I do not know them before the script runs and more than that, there are so many that it would be really bulky to create init targets […]

使用节点时间表安排作业

我正在使用名为node-schedule的节点模块 我有这个function,预计在每个季度开始时会一次点燃。 var rule = {hour: 0, minute: 0, day: 1, month: [0, 3, 6, 9]}; var logCost = schedule.scheduleJob(rule, function(){ console.log('logCost output this shit at: ' + dateFormat(Date(), 'isoTime')); }); 问题是这个函数只是在整个一天(那个月的第一天)继续执行。 我如何重写这只执行一次,可能是我的规则variables有什么问题,但我什么都看不到。

setTimeout函数和asynchronous函数

这是关于如何setTimeout执行其callback。 我有以下几点 function f1 (argument) { console.log('f1 start'); for(var i = 0; i < 100000; ++i) for(var j = 0; j < 10000; ++j); console.log('f1 complete'); } function f2 (argument) { console.log('f2 start'); for(var i = 0; i < 1000; ++i) for(var j = 0; j < 10000; ++j); console.log('f2 complete'); } function f3 (argument) […]

如何使用node-schedule只在一个实例上运行cron?

我的问题是如何使用节点调度来运行一个cron仅在节点服务器的两个实例中的一个实例。 目前它在两个实例上运行,但我希望它只能在一个实例上执行。 那么如何让一个集群只运行一次任务呢? 提前致谢。 { "apps": [ { "name": "Example", "script": "boot/app/app.js", "watch": false, "exec_mode": "cluster_mode", "instances": 2, "merge_logs": true, "cwd": "/srv/www.example.com/server", "env": { "NODE_ENV": "development", ……. ……. } } ] }

使用基于AMQP的服务器比使用beanstalkd或redis更有吸引力吗?

我正在编写一个项目,负责处理面向数据服务器的主应用程序之外的任务,这是使用Node.js用JavaScript编写的。 它需要处理将来计划的任务,并有可能处理“现在”的任务。 “现在”只是意味着下一次工作人员可以使用时,将会执行该任务,所以这一点可能无关紧要。 工作人员都要和外部资源交stream,一个例子就是发邮件。 我们是一个小商店,我们没有太多的资源,所以我不想做的一件事是在这个过程中开始混合语言,我已经看到Node可以很容易地为我们做这个,所以这就是我们要去的地方,除非在我开始编码之前看到一个令人信服的理由。 总之,我不能说是否有一个令人信服的理由来使用基于AMQP的服务器,比如像Openue或RabbitMQ这样的类似Kue或Beanstalkd的节点客户端。 那么,我们走吧: 使用基于AMQP的服务器比使用Kue的beanstalkd或redis更有吸引力吗? 如果是,那么基于AMPQ的服务器最适合我所布置的架构? 如果不是,哪个nosql解决scheme(beanstalkd,redis / Kue)最容易设置和部署速度最快?