我正在努力设置我的kueworker并发现了一些奇怪的东西。如果我使用默认的kueredis连接创建我的队列,一切正常:varkue=require('kue'),redis=require('redis');varq=kue.createQueue();q.process('cypher',function(job,done){});worker完美启动。但是,如果我尝试用我自己的一个覆盖默认的redis连接,我会得到一个错误:订阅者模式下的连接,只能使用订阅者命令当执行遇到下面的q.process函数时:varkue=require('kue'),redis=require('re
我正在尝试运行以下代码:#Resquetasksrequire'resque/tasks'require'resque_scheduler/tasks'namespace:resquedotask:setupdorequire'resque'require'resque_scheduler'require'resque/scheduler'#youprobablyalreadyhavethissomewhereResque.redis='localhost:6379'Resque.schedule={}require_relative'app'endend和app.rbrequire'
我目前正在尝试为我的Rails3应用程序设置resque-scheduler。在我的简单测试应用程序中,我试图在设置10秒后使我的用户模型中的token过期。在调用TokenController的创建方法来设置token时,我使用Resque.enqueue_in(10.seconds,ExpireToken,:user_id=>@user.id)将新作业加入队列。ExpireToken类如下所示:classExpireToken@queue=:tokendefself.perform(user_id)user=User.find(user_id)ifnotuser.nil?user.
显然,我可以将延迟设置为到我想要的日期为止的毫秒数,但在某些情况下这并不能很好地工作,最大int值将成为一个问题。如果Kue做不到,我可以将特定日期的作业存储在面向客户端的应用程序使用的主数据库中,或者存储在第三家商店中,我只是想避免使用多个商店这个过程。更新:这是一个愚蠢的问题,我很快在脑子里做了一些数学运算,结果失败得很厉害,我想,然后问,我应该在问之前准确地计算一下。 最佳答案 遗憾的是,Kue没有任何其他方式来安排工作。我确实想知道您有哪些工作需要安排得如此之远以至于溢出整数。考虑到Kue由Redis支持,我可能不想依赖它来
我不知道我做错了什么,也许有人可以指出来。我想弄清楚为什么我的“作业完成”事件没有触发。varkue=require('kue'),jobs=kue.createQueue();varutil=require('util');varjob=jobs.create('test',util.puts('123')).on('complete',function(){console.log("Jobcomplete");}).on('failed',function(){console.log("Jobfailed");}).on('progress',function(progress){
我正在使用kue在一个网络爬虫应用程序中。如果错误符合特定条件,我想为某些失败的作业设置attempts。例如,如果错误是由套接字挂起引起的,则作业将以1分钟的间隔重试3次。我的代码如下所示,但不起作用varkue=require('kue');varqueue=kue.createQueue();queue.process('grab',function(job,done){//doCrawlingJobisasynccallandreturnspromisedoCrawlingJob(job).then(function(result){done();}.catch(functio
我有resque-scheduler在Rails应用程序中运行良好。现在我需要能够从队列中跟踪状态并删除作业。我简要地查看了resque-status,据我所见,如果我能让它与resque-scheduler很好地配合使用,那就太完美了。但是,似乎rescue-status使用create包装enqueue并且resque-scheduler使用扩展的enqueue_at我目前正在使用。有没有一种简单的方法可以让他们一起玩而无需过多破解插件?有没有人已经这样做并且愿意给我一些提示? 最佳答案 resque-scheduler1.9.
我无法使用kue连接到Redis,我已经按照这个article,实际上我正在使用kueredis客户端创建连接,连接代码是这样的:varkue=require('kue'),redis=require('kue/node_modules/redis');app.redisClient=redis.createClient('6379','remoteip',{});app.redisClient.on('error',function(err){console.log('Rediserrorencountered',err);});app.redisClient.on('end',fu
我正在添加Resque-Scheduler在我的Heroku应用中所以...我需要一个单独且不同的工作人员充当调度程序和许多人在做这份工作。我是这样做的:我有一个独特的Heroku应用程序,它除了有1个resque-schedulerworker,全天候运行,将Resque任务添加到“远程”main的Redis数据库中应用。(我将jobs:work任务映射到resque:scheduler或resque:work)这是在Heroku平台上最好的方式吗?还是我做的完全错了?谢谢!编辑:在Heroku上进行调度的最小应用程序:http://github.com/clmntlxndr/h
我目前正在使用此处详述的LimitedConcurrencyLevelTaskSchedulerhttp://msdn.microsoft.com/en-us/library/ee789351.aspx我想加强这一点,以便可以为个人任务分配优先级。这些优先级不需要映射到线程优先级。它应该只会影响任务的启动顺序。有谁知道这样的任务调度器的例子吗?(很多日程安排的事情都在我头上,所以如果有一个现有的解决方案那就太好了) 最佳答案 ParallelExtensionsExtrasSamples.已经提供了这样一个调度程序,即Queue