我在循环中使用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) 寻求将我的所有共享模型移动到可以包含在我的每个微应用程序中的引擎.
该引擎应为我们的所有遗留数据提供模型层,包括:
模型文件正在自动修补,没关系.
使用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
和 …
当用户(和用户的朋友)将歌曲添加到播放列表,或者在Spotify,Rdio等中播放歌曲时,我将如何访问?
是否可以通过Twilio的api发送传真?
如果可以将图像转换为格式正确的音频样本,然后通过使用Twilio API发出的电话来管理音频,是否可以"听到"并通过另一端的传真机将其解码为正确的图像?
我想部署一个运行Procfile的应用程序
web: node myapp.js
Run Code Online (Sandbox Code Playgroud)
myapp.js用于phantomjs-node
运行无头webkit的东西,将结果返回给浏览器请求.这可能吗?
我即将开始构建一个处理多个用户的tumblr克隆(因此像Gelato这样的预制克隆不会削减它)而且我不确定我想构建这个框架的是哪个.
现在,我只打算建立一个原型.我可以让十几个朋友来测试这个概念并成长为可能有几百个用户来证明市场,所以我并不担心长期规模.我现在最关心的是快速部署.我希望在尽可能短的时间内从零到注册,尽可能少地选择框架.
我有PHP的经验,但不是Ruby.但是,我不认为学习曲线太陡,所以我不排除轨道.我只想要一个最适合像多用户tumblr克隆这样的系统的框架,这样我就可以尽可能快地构建它.
如果任何人有类似项目的经验,或者使用这些框架并且可以提供富有洞察力的观点,我将非常感激.
感谢您抽出宝贵时间阅读.
干杯,约旦费尔德斯坦
我在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的请求没有被节点选中.
我尝试停止httpd然后让节点侦听端口80,以排除端口没有正确转发,但它仍然没有看到任何东西.
我猜两个问题:
奖金问题:我应该采取更好的方式吗?
谢谢大家,
〜乔丹
使用 Ruby,如何在不将整个文件下载到磁盘的情况下解析远程 mp3 文件的 ID3 标签?
这个问题已在Java和Silverlight 中提出,但在 Ruby 中没有。
编辑:查看 Java 答案,似乎可以(HTTP 支持)只下载文件的尾端,也就是标签所在的位置。这可以在 Ruby 中完成吗?
运行后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) 我在写代码,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)