草庐IT

Resque-Worker

全部标签

ruby-on-rails - Resque - 在多个服务器之间平均分配作业负载

我有一个Rails应用程序,其中Resque在多个服务器上执行后台作业。这些作业在资源需求方面是不同的,所以我想限制特定类型的作业数量,每个服务器都可以做。我希望能够让多个服务器查询同一个Redis数据库。场景如下:我将Server-1和Server-2连接到同一个Redis数据库。1)每个服务器最多应承担3个“编码”作业和5个“解析”作业(总共8个作业)。2)在给定时刻,Redis服务器将有10个作业在“编码”队列中,12个作业在“解析”队列中可供Resque工作程序处理。我有2个服务器在运行,查询同一个数据库。问题:如何防止服务器1承担8个“编码”工作而服务器2承担其余工作?换句话

ruby-on-rails-3 - Resque 来自其他主机的 Worker 在我的系统上注册并处于事件状态

我目前正在处理的Rails应用程序托管在AmazonEC2服务器上。它使用Resque来运行后台作业,并且有2个这样的实例(可能是生产和一个阶段)。此外,我已将Resque监控网络应用程序安装到/resque路由(仅在舞台上)。这是我的问题:为什么在我的阶段系统中注册了来自多个主机的工作人员,我该如何避免这种情况?一些额外的细节:我看到worker显然来自3台不同的机器,但我只设法识别了其中的2台——舞台(显然)和生产。第三个有另一种地址格式(以domU开头)并且不知道它可能是什么。 最佳答案 看起来您正在跨多个resque服务器环

ruby - Redis 不会使用 Resque Task 安装

我正在尝试使用Redis设置Resque并遵循文档:https://github.com/defunkt/resque#section_Installing_Redis但是当我执行“rakeredis:installdtach:install”时,我得到:rakeaborted!Don'tknowhowtobuildtask'redis:install'/home/max/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in`eval'/home/max/.rvm/gems/ruby-1.9.3-p194/bin/ruby_no

Ruby:Resque 立即排队

我有以下代码。它的工作是根据通过浏览器(使用Sinatra)提供的数据发送电子邮件。它会在20秒后向给定的地址发送一封电子邮件。当我运行该程序时,它会立即发送电子邮件,而无需等待时间。谁能帮我解决这个问题。require'rubygems'require'sinatra'require'pony'require'resque'require'resque_scheduler'require'active_support/time'Resque.redis='localhost:6379'Resque::Scheduler.dynamic=truedefsendMailPony.mail

python - Celery worker 不会为应用程序启动 ImportError

我正在尝试将celery与django一起使用,并以redis作为代理。我的应用程序名称之一是用户,其模型由其他应用程序导入。当我运行django服务器时,它启动时没有任何错误,并且一切正常。但是当我尝试使用命令“celery-Aprojectworker-lINFO”启动celeryworker时,出现以下错误:Traceback(mostrecentcalllast):File"/usr/local/bin/celery",line11,insys.exit(main())File"/usr/local/lib/python2.7/dist-packages/celery/__ma

django - 使用 Django 应用程序的主管对运行 celery worker 进行故障排除

我有一个Django应用程序,我的目标是通过celery通过redis运行任务。项目文件夹结构如下:/mhb11/myfolder/myproject├──myproject│├──celery.py#TheCeleryappfile│├──__init__.py#Theprojectmodulefile(modified)│├──settings.py#IncludingCelerysettings│├──urls.py│└──wsgi.py├──manage.py├──celerybeat-schedule└──myapp├──__init__.py├──models.py├──t

ruby-on-rails - resque-pool 默认为测试环境

我今天在本地设置了resque-pool,我注意到了一些奇怪的行为。我之前已经启动并运行了普通的旧resque没问题。我的工作失败了,因为找不到记录。当我深入研究时,我发现这是因为工作人员正在使用测试配置进行设置。我在本地使用foreman/heroku,我的.env文件设置了环境RACK_ENV=development,我还尝试添加了一个RACK_ENV=development示例设置输出[OKAY]LoadedENV.envFileasKEY=VALUEFormat5:01:34PMweb.1|Pumastartinginsinglemode...5:01:34PMweb.1|*V

python - 向所有 worker 广播任务 : redis+celery

任务.pyfromceleryimportCeleryapp=Celery('tasks',broker='redis://localhost',backend='redis://localhost',include=['tasks'])app.conf.broker_url='redis://localhost:6379/0'#Optionalconfiguration,seetheapplicationuserguide.app.conf.update(result_expires=3600,)@app.taskdefadd(x,y):returnx+y主要.pyfromtasks

Mongodb worker 角色抛出 System.IO.FileNotFoundException

我有一个使用mongodb辅助角色的Azure云项目。在本地模拟器中运行时一切正常,但是当我部署到Azure暂存区时,mongodb工作角色卡在循环中并显示System.IO.FileNotFoundException。我远程连接到其中一台虚拟机并查看事件查看器,发现以下错误:Anunhandledexceptionoccurred.Type:System.IO.FileNotFoundExceptionProcessID:1936ProcessName:WaWorkerHostThreadID:4AppDomainUnhandledExceptionforroleMongoDB.Wi

mongodb - 在 Worker 的帮助下从 Spark 读取巨大的 MongoDB 集合

我想从Spark中读取一个巨大的MongoDB集合,创建一个持久的RDD,并对其进行进一步的数据分析。有什么方法可以更快地从MongoDB读取数据。尝试过MongoDBJava+Casbah的方法我可以使用worker/slave从MongoDB中并行读取数据,然后将其保存为持久数据并使用吗? 最佳答案 有两种方法可以将数据从MongoDB获取到ApacheSpark。方法一:使用Casbah(MongDBJava驱动程序上的层)valuriRemote=MongoClientURI("mongodb://RemoteURL:270