草庐IT

resque-retry

全部标签

redis - 管理 Resque 和 Redis 的多个实例

我试图让上帝监视Resque的两个实例,一个用于生产,一个用于暂存。所以我在系统启动时启动了两个Redis实例:redis_6379和redis_6380。然后我使用Daemontools来启动和监视上帝。MyGod脚本看起来像这样:God.watchdo|w|w.dir="#{rails_root}"w.name="resque-#{num}"w.group='resque'w.interval=30.secondsw.env={"QUEUE"=>"critical,high,low","RAILS_ENV"=>rails_env}w.start="rakeresque:workQU

ruby-on-rails - Resque: worker 状态不对

Resque目前正在向我展示我有一个工作人员在队列中工作。那个worker在队列中间被我关闭了(它只是为了测试)并且worker仍然显示为正在运行。我已经确认进程ID已被终止并且bluepill不再监视它。无论如何,我无法在UI中找到强制清除它正在工作的内容。更新当前正在运行的工作人员数量的最佳方式是什么(我有2个,WebUI报告3个)。 最佳答案 您可能有一个挥之不去的pid文件。该文件独立于正在运行的进程;换句话说,当您终止进程时,它并没有删除pid文件。如果您使用典型的Rails和Resque设置,Resque会将pid存储在

ruby-on-rails - Resque: worker 状态不对

Resque目前正在向我展示我有一个工作人员在队列中工作。那个worker在队列中间被我关闭了(它只是为了测试)并且worker仍然显示为正在运行。我已经确认进程ID已被终止并且bluepill不再监视它。无论如何,我无法在UI中找到强制清除它正在工作的内容。更新当前正在运行的工作人员数量的最佳方式是什么(我有2个,WebUI报告3个)。 最佳答案 您可能有一个挥之不去的pid文件。该文件独立于正在运行的进程;换句话说,当您终止进程时,它并没有删除pid文件。如果您使用典型的Rails和Resque设置,Resque会将pid存储在

redis - 是否可以开始 resque-web 监听 redis 套接字?

我已禁用redis监听端口6379并启用了websocket。它在我的应用程序中运行得非常好,但是当我启动resque-web时,它一直在通过网络接口(interface)监听并失败并显示消息:Can'tconnecttoRedis!(redis://127.0.0.1:6379/0)有人知道是否可以让resque-web使用套接字而不是网络?提前致谢 最佳答案 我一直在阅读resque-web的代码,我意识到它会在内部加载您提供的任何路径作为命令的参数。所以我创建了一个简单的ruby​​脚本,它使用redisgem连接到Redis

redis - 是否可以开始 resque-web 监听 redis 套接字?

我已禁用redis监听端口6379并启用了websocket。它在我的应用程序中运行得非常好,但是当我启动resque-web时,它一直在通过网络接口(interface)监听并失败并显示消息:Can'tconnecttoRedis!(redis://127.0.0.1:6379/0)有人知道是否可以让resque-web使用套接字而不是网络?提前致谢 最佳答案 我一直在阅读resque-web的代码,我意识到它会在内部加载您提供的任何路径作为命令的参数。所以我创建了一个简单的ruby​​脚本,它使用redisgem连接到Redis

ruby-on-rails - 使用 Resque with Redis To Go 做后台任务有什么意义

如果将调用外部服务(例如发送电子邮件)之类的任务发送到后台任务和工作人员以从主应用程序中删除耗时的任务,我不明白为什么将Resque与RedisToGo一起使用是这样的好主意。RedisToGo本身不是一个外部服务吗,在这种情况下,这不会破坏目的,因为在RedisToGo上存储队列的键/值是不可预测的,并且本身可能会耗费时间?编辑我感到困惑的原因是我没有设置任何工作人员,队列是由Resque在RedisToGo上生成的(显然操作正在等待,因为没有工作人员)。所以我假设这意味着最初的RedisToGo写入是由主线程完成的。 最佳答案

ruby-on-rails - 使用 Resque with Redis To Go 做后台任务有什么意义

如果将调用外部服务(例如发送电子邮件)之类的任务发送到后台任务和工作人员以从主应用程序中删除耗时的任务,我不明白为什么将Resque与RedisToGo一起使用是这样的好主意。RedisToGo本身不是一个外部服务吗,在这种情况下,这不会破坏目的,因为在RedisToGo上存储队列的键/值是不可预测的,并且本身可能会耗费时间?编辑我感到困惑的原因是我没有设置任何工作人员,队列是由Resque在RedisToGo上生成的(显然操作正在等待,因为没有工作人员)。所以我假设这意味着最初的RedisToGo写入是由主线程完成的。 最佳答案

ruby - resque故障转移redis解决方案

由于集群式Redis仍在开发中,Resque中是否有机制可以在主服务器出现故障时自动故障转移到Redis从服务器? 最佳答案 我不这么认为。但是,您可以implementthemasterelectionmechanismyourself很容易使用ApacheZookeeper:require"rubygems"require"zookeeper"deflog(msg)puts"[#{Process.pid}]#{msg}"enddefdebug(obj)log(obj.inspect)enddefon_master_changed

ruby - resque故障转移redis解决方案

由于集群式Redis仍在开发中,Resque中是否有机制可以在主服务器出现故障时自动故障转移到Redis从服务器? 最佳答案 我不这么认为。但是,您可以implementthemasterelectionmechanismyourself很容易使用ApacheZookeeper:require"rubygems"require"zookeeper"deflog(msg)puts"[#{Process.pid}]#{msg}"enddefdebug(obj)log(obj.inspect)enddefon_master_changed

redis - 通过 Resque 从 Padrino 异步发送电子邮件

我正在尝试从Padrino应用程序异步发送电子邮件-我尝试过使用Rubyfork命令,但我认为它的扩展性不是很好,我也尝试过delayed_job但现在选择了Resque(主要是因为它附带的网络界面非常好)。除了我不得不使用Pony而不是padrino-mailer从/lib发送我的电子邮件外,我可以正常工作。如果能帮我从图片中删除小马,我将不胜感激。我遇到的主要问题是我不知道如何从Controller或助手外部调用padrino-mailer。我相信这是可能的,并会感谢任何帮助。如果我们能解决这个问题,我认为这对其他Padrino开发人员可能非常有用——异步发送电子邮件可能是Web应