我正在寻找一种简单的方法让用户定义一组规则来过滤对象.
例如.让他们定义类似"如果预订日期<2009/04/30且值> 100.00,请通知我预订"
或多或少:我想拥有一个带有自定义DSL的Ruby规则引擎.
有图书馆提供吗?遇到过Ruleby,但它还不支持自定义DSL.
最好的办法是什么?
有没有办法更新存储在Amazon CloudFront(亚马逊的CDN服务)上的文件?似乎它不会对我们制作的文件进行任何更新(例如删除文件并使用与以前相同的文件名存储新文件).我是否必须明确触发更新过程以从边缘服务器中删除文件以获取已发布的新文件内容?
谢谢你的帮助
由于我们的应用程序中的数据库转换越来越耗时,我们已经开始使用memcached来减少传递给MySQL的查询量.
总而言之,它工作正常,真的可以节省大量时间.
但是,由于缓存是"无声地出现"作为一种解决方法来为应用程序提供更多果汁,我们的许多模型现在包含如下代码:
def self.all_cached
Rails.cache.fetch('object_name') {
find(
:all,
:include => [associations])
}
end
Run Code Online (Sandbox Code Playgroud)
随着填充和刷新缓存在应用程序中的几个类中发生,这变得越来越痛苦.
现在,我想知道是否有更好的方法来抽象memcached逻辑,使其更强大,更容易在所有需要的模型中使用?
我正在考虑使用某种memcached模块,它包含在所有需要的模块中.
但在玩之前,我想:让我们先问专家:-)
谢谢
马特
我正在尝试使用Ruby针对XSD架构验证以下XML.它根本不起作用,停止并显示错误消息
错误:元素'请求':没有可用于验证根的匹配全局声明.
也许它是命名空间?有任何想法吗?
<?xml version="1.0" encoding="UTF-8"?>
<request type="test" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<channel name="channel">
<username>user</username>
<password>pass</password>
</channel>
<hotel id="1">
<date from="2009-07-07" to="2009-07-17"/>
<room id="1">
<allocation>10</allocation>
</room>
</hotel>
</request>
Run Code Online (Sandbox Code Playgroud)
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- channel -->
<xsd:element name="channel">
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:sequence>
<xsd:element username="name" use="required" type="xsd:string"/>
<xsd:element password="country" use="required" type="xsd:string"/>
</xsd:sequence>
</xsd:element>
<!-- hotel -->
<xsd:element name="hotel">
<xsd:attribute name="id" use="required" type="xsd:string" />
<xsd:sequence>
<xsd:element name="hotel">
<xsd:attribute name="from" use="required" type="xsd:string" />
<xsd:attribute name="to" use="required" type="xsd:string" />
</xsd:element>
<xsd:element ref="room" minOccurs="1"/>
</xsd:sequence>
</xsd:element>
<!-- …Run Code Online (Sandbox Code Playgroud) 在iOS设备的主屏幕上为书签设置默认图像时使用
<link rel="apple-touch-icon-precomposed" href="bla.png"/>
Run Code Online (Sandbox Code Playgroud)
书签的标题始终是Web应用程序标题的一部分.有没有机会设置默认标题,该标题会自动显示在"添加到主屏幕"对话框中?
谢谢
马特
我正在开发一个小型应用程序,它将XML发布到一些web服务.这是使用Net :: HTTP :: Post :: Post完成的.但是,服务提供商建议使用重新连接.
类似的事情:第一次请求失败 - > 2秒后再次尝试第二次请求失败 - > 5秒后再次尝试第3次请求失败 - > 10秒后再次尝试...
这样做有什么好办法?只需在循环中运行以下代码,捕获异常并在一段时间后再次运行它?或者还有其他聪明的方法吗?也许Net包甚至有一些我不知道的内置功能?
url = URI.parse("http://some.host")
request = Net::HTTP::Post.new(url.path)
request.body = xml
request.content_type = "text/xml"
#run this line in a loop??
response = Net::HTTP.start(url.host, url.port) {|http| http.request(request)}
Run Code Online (Sandbox Code Playgroud)
非常感谢,永远感谢您的支持.
马特
我已经搜索过该网站,但找不到任何合适的信息.由于周围总有一些专家,我敢肯定其中一个人确切地知道我在寻找什么:-)
我们是一个平衡的系统:
Machine 1: HAProxy load balancer
Machine 2 & 3: Apache mod_rails and (of course) our Rails applications
Run Code Online (Sandbox Code Playgroud)
那些是我们能够使用monit(或其他监控工具)监控所有Mongrel流程的日子.
有没有办法用monit(或其他工具)轻松,巧妙地监控乘客流程?如何动态获取正在运行的进程的所有pid并将其传递给监视?
马特
如果我跑
top
Run Code Online (Sandbox Code Playgroud)
在Linux系统上,我可以看到很多关于内存使用情况的信息.
Mem: 15736360k total, 8415332k used, 7321028k free, 174876k buffers
Swap: 0k total, 0k used, 0k free, 2630508k cached
Run Code Online (Sandbox Code Playgroud)
我想知道:告诉我的"缓存"属性是什么?似乎这根本没有被释放 - 这是正常行为吗?
我们正在为我们的网络应用运行memcached.这有什么关系吗?
马特
我相信这对你来说很容易:
假设我有一个字符串"ThisIsMyString",我想使用Ruby将其格式化为"this_is_my_string".
我怎么做?
马特
我们在几个Rails应用程序中使用了memcache.现在我想知道:有没有办法获取存储在memcache中的所有对象的列表,包括每个值占用的数据量?
例如:
key | memory(Bytes) | %
-----------------------------------
foo_key | 15013 | 0.3
bar_key | 2201 | 0.05
Run Code Online (Sandbox Code Playgroud)
在文档中找不到任何内容......
谢谢
马特