草庐IT

mjob_worker

全部标签

ruby-on-rails - 在没有 rails 环境的情况下加载 resque worker?

我的resque工作不依赖于Rails中的任何东西,但我很难在没有Rails环境的情况下开始工作。我看过这篇文章,但没有帮助(rubyresquewithoutloadingrailsenvironment)这是我当前的rake文件:require"resque/tasks"task"resque:setup"doroot_path="#{File.dirname(__FILE__)}/../.."require"#{root_path}/app/workers/myworker.rb"end#task"resque:setup"=>:environment评论的任务将加载Rails环

ruby-on-rails - 在 Rails 环境中执行 Ruby Worker 脚本

我有以下案例:我希望能够将独立的Ruby脚本作为守护进程运行。我希望能够在我的Rails项目的上下文/环境中执行此脚本(例如,这样脚本就可以访问后端/我的Rails模型)。有没有一种简单的方法可以实现这一点?谢谢! 最佳答案 使用railsrunner.您还可以创建一个rake任务。 关于ruby-on-rails-在Rails环境中执行RubyWorker脚本,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

ruby-on-rails - unicorn worker 的第一 react 慢了几秒钟

我不知道如何让我的unicornworker只在他们真正“准备好”处理请求时才接受连接。我发现前几个请求很慢,然后它们会急剧加快(从几秒减少到一百毫秒左右)。这个问题似乎因unicorn似乎在一定时间后杀死worker这一事实而变得更加复杂,这意味着我经常面临缓慢的第一个请求对性能的影响。有没有其他人看到这个或知道我能做什么? 最佳答案 事实证明,我们的i18nyml文件在第一次请求时延迟加载到View中导致了性能问题。只需将以下内容添加到我的config/unicorn.rb似乎就可以解决问题:before_forkdo|serv

ruby-on-rails - 如何让Sidekiq worker不加载Rails环境

我的Rails应用启动了一个只发送文本消息的Sidekiqworker。我确信它不需要整个Railsenv就可以工作(它只需要客户的电话和文本作为参数发送)。但目前工作人员加载它并因此从我的微型DigitalOcean液滴中获取大量内存(就像单独的Rails应用程序一样)。有什么方法可以告诉工作人员它应该需要的唯一文件的路径吗? 最佳答案 您可以将您的sidekiqworker完全解耦为独立的(一个或两个文件)并将其作为单独的进程在您的digitalocean实例上运行。然后在您的Rails应用程序中,当您准备好完成工作时,您只需将

ruby-on-rails - Sidekiq worker优先级设置

目前正在使用sidekiq运行我的后台作业。一次同时运行10个作业。这些工作不是小工作。完成这项工作需要6-8个小时。与此同时,我需要运行一些较小的作业(需要2-3分钟)。目前我无法运行这些作业,直到上述10个作业中的任何一个完成。所以我需要等待6-8个小时才能完成这个小工作。但是这些作业应该在添加到队列后立即运行。是否有任何选项可以阻止任何一个进程来运行这种小型作业。我尝试了队列选项,但它在我的场景中也不起作用。这是我的sidekiq配置:concurrency:10:queues:-[web,7]-[default,3]谁能给我这个问题的解决方案? 最佳

ruby-on-rails - 从 Sidekiq Worker 中渲染 Rails View

我有一个Sidekiqworker,它执行一些后台处理,然后最终将成功消息发布到第3方API。我发布的这条消息本质上是一条“谢谢”消息,可以包含HTML。在邮件中,我想以格式正确的方式链接回我的网站。这对我来说自然听起来像是一种观点。我喜欢简单地使用View模板,将其呈现为HTML,最后将其发布到API。我这辈子都不知道如何从我的Sidekiqworker中渲染View。我考虑过设置一个虚拟Controller/View组合并从工作人员内部实例化它,但这似乎是错误的。任何输入将不胜感激。 最佳答案 在您的worker中,您可以直接使

javascript - Web Workers - JSON 的可传输对象

在大型JSON对象上使用worker.postMessage时,HTML5Webworker非常慢。我试图弄清楚如何将JSON对象传输到网络worker-使用Chrome中的“可传输对象”类型,以提高速度。这就是我所指的,看起来它应该会加快速度:http://updates.html5rocks.com/2011/12/Transferable-Objects-Lightning-Fast我很难找到一个很好的例子(而且我不相信我想使用ArrayBuffer)。任何帮助将不胜感激。我在想象这样的事情:worker=newWorker('workers.js');varlarge_json

javascript - Web Workers - JSON 的可传输对象

在大型JSON对象上使用worker.postMessage时,HTML5Webworker非常慢。我试图弄清楚如何将JSON对象传输到网络worker-使用Chrome中的“可传输对象”类型,以提高速度。这就是我所指的,看起来它应该会加快速度:http://updates.html5rocks.com/2011/12/Transferable-Objects-Lightning-Fast我很难找到一个很好的例子(而且我不相信我想使用ArrayBuffer)。任何帮助将不胜感激。我在想象这样的事情:worker=newWorker('workers.js');varlarge_json

微信小程序worker的简单使用

app.json文件配置{"workers":"worker"}worker文件创建用worker实现计算···//pages目录下index.jsPage({onLoad(){//worker目录必须是绝对路径前面不能有’/’this.worker=wx.createWorker(‘worker/index.js’,{useExperimentalWorker:true,})},//点击事件handleClick(){this.worker.postMessage({message:{a:1,b:2}})this.worker.onMessage((res)=>{console.log(re

微信小程序worker的简单使用

app.json文件配置{"workers":"worker"}worker文件创建用worker实现计算···//pages目录下index.jsPage({onLoad(){//worker目录必须是绝对路径前面不能有’/’this.worker=wx.createWorker(‘worker/index.js’,{useExperimentalWorker:true,})},//点击事件handleClick(){this.worker.postMessage({message:{a:1,b:2}})this.worker.onMessage((res)=>{console.log(re