我即将推出一个测试网站,而heroku看起来是个不错的选择.让我失望的唯一想法是,Websolr附加组件的唯一搜索选项是$ 20/mth.
我确信Websolr很棒,但是在这个项目的早期阶段,我宁愿不去点那笔费用.
有没有任何免费搜索选项可以与heroku的Blossom(免费)计划结合使用.
我觉得这样的小气鬼!
我觉得我要在这里重新发明轮子,所以在我这样做之前......
我需要处理大量数据,处理数据的"规则"会随着时间的推移而发展,所以我认为实现一个简单的规则引擎是有序的.
注意我不是在寻找一个自然语言解析器,我希望所有的规则都是ruby procs.
我可以想象语法看起来像:
engine = SimpleRulesEngine.new
rule = engine.add_rule(priority: 10) do |row|
row.name != 'George'
end
rule.action do |row|
puts "Yikes, name is not George!, it was #{row.name}"
row.update_attribute :name, 'George'
end
engine.process collection
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何现有的模式或宝石可以帮助解决这个问题.看起来最接近的是规则,但似乎没有积极维护,并且似乎对我的问题的解决方案太复杂.
谢谢!
请注意,这是一个类似的问题:Ruby和Rules Engines,但不同之处在于,我不关心自然语言处理和规则存储.
我在rails 3应用程序上使用了carrierwave和mongoid,并且遇到了after_save回调问题.考虑以下
class Video
include Mongoid::Document
field :name
mount_uploader :file, VideoUploader
after_create :enqueue_for_encoding
protected
def enqueue_for_encoding
// point your encoding service to where it expects the permanent file to reside
// in my case on s3
end
end
Run Code Online (Sandbox Code Playgroud)
我的问题是在我的enqueue_for_encoding方法中,file.url指向本地tmp目录而不是s3目录.
enqueue_for_encoding当file.url指向s3时,如何调用我的方法?
谢谢!
乔纳森
我正在使用delayed_job来处理heroku的后台作业.偶尔我会超越我的内存分配,我会得到这样的东西:
2011-11-16T02:41:25 + 00:00的Heroku [worker.1]:错误R14(存储器配额超标)2011-11-16T02:41:45 + 00:00的Heroku [worker.1]:流程运行MEM = 542M(106.0%)
我想优雅地处理这个问题.有没有办法找出我何时要超越我的记忆限制?
像机架超时这样的东西会很棒
谢谢!
大家好我对角度很新,我对拦截器中处理重定向的最佳方法有疑问.
我的应用程序中有某些页面,如果我选择了一个帐户,我应该只能访问这些页面.因此,如果未选择帐户,我希望用户登录的路线选择帐户.
以下是我失败的尝试:
// within config
$httpProvider.interceptors.push(function($q, $injector){
return {
'request': function(config) {
var state = $injector.get('$state');
if(state.is('user.list')) {
var accountService = $injector.get('AccountService');
if(!accountService.accountSelected()){
// cancel the current request
var defer = $q.defer();
defer.resolve();
config.timeout = defer.promise;
state.go('account.select');
}
}
return config;
}
}
});
Run Code Online (Sandbox Code Playgroud)
这给我带来了无限循环.出于某种原因,当state.go发生火灾 - 并且它被重新拦截时,状态仍然是"user.list"
注意:我使用的是ui-router,角度为1.2.6
另一个注意事项:我想把它放在另一个地方是一个state.resolve块.
谢谢你的帮助!
使用 Apollo 客户端的查询组件考虑以下内容:
<Query {...props} query={NOTEBOOK_QUERY} variables={{ id: props.notebookId }} >
{result => props.children(result)}
</Query>
Run Code Online (Sandbox Code Playgroud)
第一次运行时,我希望它是一个网络调用,第二次我希望它命中缓存。
是否有可以插入的工具来打印缓存是否命中或未命中,以及使用了什么密钥?
谢谢!!
单击"使用FireBug单击要检查的页面上的元素"箭头时,它会在目标元素周围放置一个蓝色边框,并返回DOM Id.
我正在构建一个应用程序,该功能将是很棒的添加.在单击将DOM Id或CSS选择器返回到应用程序时,能够将鼠标悬停在元素上并突出显示目标.
有没有一个jquery插件可以做到这一点?其他一些聪明的方式?
谢谢!,
乔纳森
考虑以下.从我的heroku控制台:
>> Rails.cache.stats
=> {"server_id"=>{"evictions"=>"0", "curr_items"=>"2064", "total_items"=>"18793", "bytes"=>"7674501", ...
>> Rails.cache.clear
=> [true]
>> Rails.cache.stats
=> {"server_id"=>{"evictions"=>"0", "curr_items"=>"2064", "total_items"=>"18793", "bytes"=>"7674501",
Run Code Online (Sandbox Code Playgroud)
超级怪异 - 如何清除我的缓存!!
嗨heroku蟒蛇人,
我希望我的heroku应用程序访问我的github帐户中的共享私有库.
所以我想有一个看起来像这样的requirements.txt文件......
# requirements.txt
requests==1.2.2
-e git+ssh://git@github.com/jtushman/dict_digger.git#egg=dict_digger
Run Code Online (Sandbox Code Playgroud)
我希望它使用我上传的ssh密钥heroku keys:add 或具有一些机制来从heroku cli获取私钥.
现在我收到以下错误(我猜这是预期的):
主机密钥验证失败.
如果我这样做的话(按@ kenneth_reitz的/sf/answers/639566581/):
-e git+https://username:password@github.com/jtushman/dict_digger.git#egg=dict_digger
Run Code Online (Sandbox Code Playgroud)
但是在我的requirements.txt文件中放置凭据真的不可行
有没有人想出一个很好的解决方案呢?
我还在这里发布了一个关于heroku python buildpack项目的问题
我知道这个问题由来已久——而且这并不是什么灵丹妙药。但我认为可能有一个固定的模式,我不想发明轮子。
考虑以下两个架构选项:
type Query {
note(id: ID!): Note
notes(input: NotesQueryInput): [Note!]!
}
Run Code Online (Sandbox Code Playgroud)
type DatedId {
date: DateTime!
id: ID!
}
type Query {
note(id: ID!): Note
notes(input: NotesQueryInput): [DatedId!]!
}
Run Code Online (Sandbox Code Playgroud)
差异是:
使用方法 1) 注释查询将返回可能较大的注释对象的列表
使用方法 2),notes 查询将返回更轻的有效负载,但随后需要执行n 个额外的查询
所以我的问题是带有内存缓存的Apollo 客户端/服务器堆栈,这是最好的方法。实现具有可扩展服务器的响应式客户端。
使用方法 1——我的 500mb dyno(heroku 服务器)内存不足。
我希望无论采用哪种方法,我都会使用连接/边缘模式实现分页
graphql 服务器主要是为我自己的前端提供服务。