小编Jor*_*ein的帖子

分配给"lib/ruby​​/2.1.0/timeout.rb"的1GB内存

我在循环中使用Twitter,Mongo和Parallel来检索和存储数据.

内存利用率达到1.5GB +

GC怎么不清洗这个?

更新: 这是有问题的脚本.

allocated memory by location
-----------------------------------
 973409328  /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/timeout.rb:82
 359655091  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/json-1.8.3/lib/json/common.rb:155
  34706221  /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/openssl/buffering.rb:182
  31767589  /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/http/response.rb:368
  22055648  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/parallel-1.6.1/lib/parallel.rb:183
  12129637  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/addressable-2.3.8/lib/addressable/uri.rb:525
  11115133  /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/protocol.rb:172
  10609088  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/addressable-2.3.8/lib/addressable/idna/pure.rb:177
   8333448  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/twitter-5.15.0/lib/twitter/base.rb:152
   6041744  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/thread_safe-0.3.5/lib/thread_safe/non_concurrent_cache_backend.rb:8
   4857232  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/addressable-2.3.8/lib/addressable/uri.rb:1477
   4583920  /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:241
   4524872  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/memoizable-0.4.2/lib/memoizable/method_builder.rb:117
   4282752  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/twitter-5.15.0/lib/twitter/base.rb:151
   4200641  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/mongo-2.1.1/lib/mongo/monitoring/command_log_subscriber.rb:104
   3283047  /Users/jordan/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/net/http/response.rb:61
   3150696  /Users/jordan/.rvm/gems/ruby-2.1.5/gems/mongo-2.1.1/lib/mongo/server/monitor.rb:125


allocated memory by gem
-----------------------------------
1084770550  ruby-2.1.5/lib
 359655091  json-1.8.3
  53016839  addressable-2.3.8
  22069048  parallel-1.6.1
  18422826  twitter-5.15.0
  10829988  mongo-2.1.1
   8908392  memoizable-0.4.2
   6041744  thread_safe-0.3.5
   4904294  faraday-0.9.2
   3839455  other
   3382080  naught-1.1.0
   2429320  bson-3.2.6
   1123917  rubygems
    320962  rollbar-2.4.0
    205097 …
Run Code Online (Sandbox Code Playgroud)

ruby parallel-processing memory-leaks mongodb

9
推荐指数
1
解决办法
578
查看次数

如何将多个模式加载到Rails引擎或应用程序?

寻求将我的所有共享模型移动到可以包含在我的每个微应用程序中的引擎.

该引擎应为我们的所有遗留数据提供模型层,包括:

模型文件正在自动修补,没关系.

使用Nikolay Strum的db.rake对模式文件进行了修补:

namespace :db do
  namespace :schema do
    # desc 'Dump additional database schema'
    task :dump => [:environment, :load_config] do
      filename = "#{Rails.root}/db/foo_schema.rb"
      File.open(filename, 'w:utf-8') do |file|
        ActiveRecord::Base.establish_connection("foo_#{Rails.env}")
        ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
      end
    end
  end

  namespace :test do
    # desc 'Purge and load foo_test schema'
    task :load_schema do
      # like db:test:purge
      abcs = ActiveRecord::Base.configurations
      ActiveRecord::Base.connection.recreate_database(abcs['foo_test']['database'], mysql_creation_options(abcs['foo_test']))
      # like db:test:load_schema
      ActiveRecord::Base.establish_connection('foo_test')
      ActiveRecord::Schema.verbose = false
      load("#{Rails.root}/db/foo_schema.rb")
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我们需要rake db:create和 …

sqlite rake gem ruby-on-rails rails-engines

9
推荐指数
1
解决办法
818
查看次数

使用Open Graph API,我可以看到用户何时在Spotify中添加到播放列表或星形曲目?

当用户(和用户的朋友)将歌曲添加到播放列表,或者在Spotify,Rdio等中播放歌曲时,我将如何访问?

spotify facebook-graph-api facebook-opengraph

8
推荐指数
2
解决办法
6489
查看次数

将图像转换为传真"声音",通过Twilio发送?

是否可以通过Twilio的api发送传真?

如果可以将图像转换为格式正确的音频样本,然后通过使用Twilio API发出的电话来管理音频,是否可以"听到"并通过另一端的传真机将其解码为正确的图像?

fax twilio

8
推荐指数
1
解决办法
2356
查看次数

是否有一个工作nodejs/phantomjs Heroku buildpack?

我想部署一个运行Procfile的应用程序

web: node myapp.js
Run Code Online (Sandbox Code Playgroud)

myapp.js用于phantomjs-node运行无头webkit的东西,将结果返回给浏览器请求.这可能吗?

heroku phantomjs buildpack

8
推荐指数
2
解决办法
6380
查看次数

用于多用户Tumblr克隆的CakePHP,CodeIgniter或Rails?

我即将开始构建一个处理多个用户的tumblr克隆(因此像Gelato这样的预制克隆不会削减它)而且我不确定我想构建这个框架的是哪个.

现在,我只打算建立一个原型.我可以让十几个朋友来测试这个概念并成长为可能有几百个用户来证明市场,所以我并不担心长期规模.我现在最关心的是快速部署.我希望在尽可能短的时间内从零到注册,尽可能少地选择框架.

我有PHP的经验,但不是Ruby.但是,我不认为学习曲线太陡,所以我不排除轨道.我只想要一个最适合像多用户tumblr克隆这样的系统的框架,这样我就可以尽可能快地构建它.

如果任何人有类似项目的经验,或者使用这些框架并且可以提供富有洞察力的观点,我将非常感激.

感谢您抽出宝贵时间阅读.

干杯,约旦费尔德斯坦

deployment cakephp codeigniter ruby-on-rails tumblr

7
推荐指数
2
解决办法
1391
查看次数

在AWS上从PHP ping一个Node.js服务器

我在node.js中编写了一个很长的过程,但是我希望我的应用程序控件的PHP端能够完成它.我的节点是这样的:

var http = require('http');

http.createServer(function (req, res) {
  console.log('Got request')

  try{
    doProcedure()
  } catch(e) {
    console.log('Really bad error while trying to do the procedure:')
    console.error(e.stack ? e.stack : e)
  }

}).listen(8124, "127.0.0.1");
Run Code Online (Sandbox Code Playgroud)

当我在本地计算机上运行时,http:// localhost:8124将正确触发事物.在aws上,我添加了8124端口,但是mydomain.com:8124的请求没有被节点选中.

AWS中的端口设置

我尝试停止httpd然后让节点侦听端口80,以排除端口没有正确转发,但它仍然没有看到任何东西.

我猜两个问题:

  1. 如何让Node作为守护进程监听,所以我可以传递请求?("更新用户x","更新用户y","更新所有用户"等)
  2. 如何从php中ping该守护进程以在AWS环境中启动这些过程?

奖金问题:我应该采取更好的方式吗?

谢谢大家,
〜乔丹

php amazon-web-services node.js

6
推荐指数
1
解决办法
1054
查看次数

在 Ruby/Rails 中读取远程 MP3 文件的 ID3 标签?

使用 Ruby,如何在不将整个文件下载到磁盘的情况下解析远程 mp3 文件的 ID3 标签?

这个问题已在JavaSilverlight 中提出,但在 Ruby 中没有。

编辑:查看 Java 答案,似乎可以(HTTP 支持)只下载文件的尾端,也就是标签所在的位置。这可以在 Ruby 中完成吗?

ruby mp3 id3

6
推荐指数
1
解决办法
2074
查看次数

编译资产时"堆栈级别太深"

运行后brew upgrade,或其他更新我的宝石/红宝石版本的东西,我的rake assets:precompile任务不再有效.

我收到此错误:

rake aborted!
stack level too deep
  (in /Users/Jordan/Development/reejay/rails/reejay/app/assets/stylesheets/blog_player.css.scss)
/Users/Jordan/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/task.rb:162
Tasks: TOP => assets:precompile:primary
rake aborted!
Command failed with status (1): [/usr/local/Cellar/ruby/1.9.3-p0/bin/ruby /...]
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils.rb:53:in `block in create_shell_runner'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils.rb:45:in `call'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils.rb:45:in `sh'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in `sh'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils.rb:80:in `ruby'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in `ruby'
/Users/Jordan/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/sprockets/assets.rake:9:in `ruby_rake_task'
/Users/Jordan/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/sprockets/assets.rake:17:in `invoke_or_reboot_rake_task'
/Users/Jordan/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/sprockets/assets.rake:25:in `block (2 levels) in <top (required)>'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:205:in `call'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:200:in `each'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:200:in `execute'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/task.rb:144:in `invoke'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task'
/usr/local/Cellar/ruby/1.9.3-p0/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 …
Run Code Online (Sandbox Code Playgroud)

ruby gem ruby-on-rails sprockets asset-pipeline

5
推荐指数
1
解决办法
2603
查看次数

导入es6模块,某些命名的导出未定义

我在写代码,notification_actions.js就像:

# notification_actions.js
export const NOTIFICATIONS_RECEIVED = 'NOTIFICATIONS_RECEIVED';
export const notificationsReceived = (notifications, unreadCount) => ({
  type: NOTIFICATIONS_RECEIVED,
  notifications,
  unreadCount,
});
Run Code Online (Sandbox Code Playgroud)

(请参阅整个文件

然后将其捆绑成all_actions.js

# all_actions.js
export * from 'navigation_actions';
export * from 'filter_type_actions';
export * from 'notification_actions';
Run Code Online (Sandbox Code Playgroud)

最后将其notifications_model.js用作:

import {
  notificationsReceived,
} from './all_actions.js';

...

const handleData = (dispatch) => ({ notifications, unreadCount }) => {
  dispatch(notificationsReceived(notifications, unreadCount));
};
Run Code Online (Sandbox Code Playgroud)

但是我明白了TypeError: notificationsReceived is undefined

不确定如何进一步调试。

我的webpack.config.js:在这里

我的部门package.json

"autobind-decorator": …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 webpack babeljs redux

4
推荐指数
1
解决办法
2262
查看次数