草庐IT

Resque-Worker

全部标签

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

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

python - 与多个经纪人一起开始 celery worker

目前,我有一个带有单个redis代理的celery.pyproj/celery.pyfrom__future__importabsolute_importfromkombuimportExchange,QueuefromceleryimportCeleryapp=Celery('proj',broker='redis://myredis.com'backend='redis://myredis.com'include=['proj.tasks])if__name__=='__main__':app.start()我会开始一个worker:celerymultistartsomename

python - 与多个经纪人一起开始 celery worker

目前,我有一个带有单个redis代理的celery.pyproj/celery.pyfrom__future__importabsolute_importfromkombuimportExchange,QueuefromceleryimportCeleryapp=Celery('proj',broker='redis://myredis.com'backend='redis://myredis.com'include=['proj.tasks])if__name__=='__main__':app.start()我会开始一个worker:celerymultistartsomename

python - RQ worker 抛出 "ValueError"

我正在尝试让RQ/RQ-Worker在我的Flask应用程序上运行。我试图将其简化为一个非常简单的测试用例。这是总体思路:用户访问/test页。这会触发作业排队并返回排队作业的job_key工作人员(worker.py)处理排队的作业。然后用户可以访问/retrieve/检索结果的页面。[未显示。]目前的工作只是加2+2。这是应用程序代码:fromrqimportQueuefromrq.jobimportJob#importconnfromworker.pyfromworkerimportconnapp=Flask(__name__)q=Queue(connection=conn)de

python - RQ worker 抛出 "ValueError"

我正在尝试让RQ/RQ-Worker在我的Flask应用程序上运行。我试图将其简化为一个非常简单的测试用例。这是总体思路:用户访问/test页。这会触发作业排队并返回排队作业的job_key工作人员(worker.py)处理排队的作业。然后用户可以访问/retrieve/检索结果的页面。[未显示。]目前的工作只是加2+2。这是应用程序代码:fromrqimportQueuefromrq.jobimportJob#importconnfromworker.pyfromworkerimportconnapp=Flask(__name__)q=Queue(connection=conn)de

ruby-on-rails - 如何使用后台 worker 保存记录?

如果我将一个大于5mb的视频文件保存到服务器上。我应该创建一个后台作业来保存这个文件吗?这应该怎么做?我的视频模型有标题、描述和附件列/字段。所有字段都是必需的。在defcreate中,我应该做类似"ifResque.enqueue(Save,@video)"的操作,而不是执行"if@video.save"?我不确定如何做到这一点,因为将参数传递给Resque.enqueue()会将其转换为散列。其次,对于“”ifResque.enqueue(Save,@video)“”,需要一个true或false。然而,Resque.enqueue不能返回任何东西。还是我错了?按钮线是。使用带有r

ruby-on-rails - 如何使用后台 worker 保存记录?

如果我将一个大于5mb的视频文件保存到服务器上。我应该创建一个后台作业来保存这个文件吗?这应该怎么做?我的视频模型有标题、描述和附件列/字段。所有字段都是必需的。在defcreate中,我应该做类似"ifResque.enqueue(Save,@video)"的操作,而不是执行"if@video.save"?我不确定如何做到这一点,因为将参数传递给Resque.enqueue()会将其转换为散列。其次,对于“”ifResque.enqueue(Save,@video)“”,需要一个true或false。然而,Resque.enqueue不能返回任何东西。还是我错了?按钮线是。使用带有r

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应