小编Dar*_*inH的帖子

是否可以在非基于ActiveRecord的模型上使用ActiveAdmin(比如activeModel或Mongoid等)?

问题几乎说明了一切.

我有一个支持定义良好的API的现有站点.

我需要为它建立一个很好的管理界面,而且,由于我之前使用过ActiveAdmin创建效果,我很乐意在这里使用它.

但是,我找不到有关是否可以这样做的任何细节.

我读过评论说AA支持ActiveModel类型的对象,它们不一定要基于ActiveRecord,但我已经不用自己尝试了,或者找到了这样的例子.

任何人都知道这是否可能?

ruby activerecord activeadmin rails-activerecord

14
推荐指数
2
解决办法
2742
查看次数

如何准确检测SQL Server作业是否正在运行并处理已在运行的作业?

我目前正在使用这样的代码来检测SQL服务器作业是否正在运行.(这是SQL Server 2005,所有SP的)

return (select isnull(  
(select top 1 CASE 
    WHEN current_execution_status = 4 THEN 0
    ELSE 1
    END
from openquery(devtestvm, 'EXEC msdb.dbo.sp_help_job')
where current_execution_status = 4 and
    name = 'WQCheckQueueJob' + cast(@Index as varchar(10))
), 1)
)
Run Code Online (Sandbox Code Playgroud)

那里没有问题,一般来说,它运作得很好.

但....(总是一个但是)

有时,我会调用它,取回"工作未运行"的结果,此时我会尝试通过以下方式启动工作

exec msdb.dbo.sp_start_job @JobName
Run Code Online (Sandbox Code Playgroud)

并且SQL将返回"SQLAgent拒绝启动该作业,因为它已经有待处理的请求".

好.也不是问题.可以想象,在此代码启动之前,可以启动目标作业的一个小窗口,但在检查它是否已启动之后.但是,我可以将它包装在try catch中,然后忽略错误,对吧?

begin try
if dbo.WQIsQueueJobActive(@index) = 0 begin
    exec msdb.dbo.sp_start_job @JobName
    break
end         
end try begin catch
    -- nothing here
end catch
Run Code Online (Sandbox Code Playgroud)

不过这是问题所在.

10次​​中有9次,这很好用.SQL代理将引发错误,它被捕获,并且处理继续,因为作业已经运行,没有任何伤害没有犯规.

但偶尔,我会在"作业历史记录"视图中收到一条消息(请记住上面的代码,以检测特定作业是否正在运行,如果没有实际从另一个作业运行则启动它)说该作业失败,因为"SQLAgent已经拒绝开始工作,因为它已经有待处理的请求".

当然,这是TRY CATCH应该处理的确切错误!

当发生这种情况时,正在执行的工作就会消失,但不能立即从我所知道的情况开始,只是非常接近.我把日志记录到了所有地方并且没有一致性.有一次它失败了,它将在a处,a下一次在b处.在某些情况下,地方A和地方B只有一个

select @var = 'message'
Run Code Online (Sandbox Code Playgroud)

在他们之间.很奇怪.基本上,这项工作似乎是毫不客气地被抛弃的,而且在工作中要执行的任何事情都不会被执行.

但是,如果我删除"exec …

t-sql sql-server sql-server-agent sql-agent-job

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

比较SQL查询的两个变体以获得性能的最佳方法是什么?

我有一个在虚拟环境下运行的SQL 2005 DB.

为简化起见,假设我有两个SQL SELECT查询.他们都做了完全相同的事情.但我正在尝试分析它们以达到性能目的.

通常,我会启动一个本地数据库,加载一些数据并使用时序将一个变量与其他变量进行比较.

但在这种情况下,由于数据库很大并且它是一个测试框,因此客户端已将其放置在为其他VM提供服务的主机上.

数据库太大而无法在本地拉下来,所以这样做(至少目前为止).

但我的主要问题是,当我对服务器运行查询时,时间到处都是.我可以运行+ exact +相同的查询4次,得到7秒,8分钟,3:45分钟和15分钟的时间.

我的第一个想法是使用SET STATISTICS IO ON.

但是,这基本上产量上读取和写入的表统计是查询,这取决于在查询中的变化(临时表,VS视图,VS连接,等等)不能真正精确地比较,除了在聚合.

然后,虽然SET STATISTICS TIME ON,并且只使用CPU时间,但这似乎折扣了所有IO,这也没有为良好的基线做好准备.

我的问题是,在这种情况下,还有其他任何统计或性能分析技术可用吗?

t-sql sql-server performance

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

为什么 VB.net 4.0 框架应用程序(标准 EXE)会尝试写入 HKLM 中的 ASP.net 注册表项?

我编写了一个 .net 4.0 框架应用程序(在 VB.net 中)。这确实是一件简单的事情,基本上只是一个带有一些花哨功能的屏幕保护程序。

然而,它确实使用.net 的网络客户端功能来查询互联网上的各个站点。

但它不是一个网络应用程序。它不在 ASP 下运行,或者据我所知,与 ASP.net 没有任何关系。

但是,当我在安装了 Comodo 防火墙的计算机上运行它时,我收到来自 Comodo 的警告弹出窗口,表明

1)程序正在尝试访问互联网(这是一件好事,这里没问题)。

2)该程序正在尝试创建注册表项,例如:hklm\system\controlset001\services\asp.net_4.0.30319\names{somelonghexvalue}

现在,我一直遵循这样的规则:基本上 HKLM 中唯一混乱的东西是安装程序,但这里这个应用程序试图在那里做一些事情。它来自 .net 框架,我的应用程序根本不从注册表请求任何密钥。

我猜测框架已被授予执行此操作的权限,即使当前用户无权在 HKLM 中创建密钥(因为我没有收到任何错误,即使应用程序在权限很少的凭据下运行) 。

所以,我的问题是,有人以前遇到过这个问题,或者知道为什么框架在运行与 ASP.net 没有任何关系的标准 EXE 时会创建 ASP.Net 注册表项?

我确实提出了这个问题, ASP.NET 4 注册表更改 ,但这种情况下的提问者实际上是在处理 ASP.net 应用程序。在这种情况下,我不是。

--编辑--为 Clara 添加了用于执行 HTTP Get 的代码

Dim request As HttpWebRequest = DirectCast(WebRequest.Create(requestUri), HttpWebRequest)
Dim resultPage As String = String.Empty
Using httpWebResponse As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
    Using responseStream As Stream = httpWebResponse.GetResponseStream()
        Using reader As New …
Run Code Online (Sandbox Code Playgroud)

vb.net .net-4.0

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

Knockout,JQMobile和生成可折叠集似乎不太合适

我已经检查了一些样本,但没有一个与我正在尝试的完全相同.

我的作品大部分都是有效的,但它并不能正常工作.

这是解释问题的小提琴.

http://jsfiddle.net/5yA6G/4/

请注意,顶部集合工作正常,但它是静态定义的.

底部集合(Tom,steve,bob)基本上"工作",但是标题元素最终都在可折叠标题和可折叠部分中被隐藏.

好像我一定做错了什么,但我还没弄清楚是什么.

有任何想法吗?

collapsable jquery-mobile knockout-2.0

5
推荐指数
2
解决办法
2129
查看次数

是否可以基于另一个单元格中的值有条件地使用数据条格式化一个单元格?

我可以根据另一个单元格对一个单元格进行条件格式化,没有问题,但这只允许我进行简单的格式化选择(如颜色,字体等).

我真正想要的是我在单元格A1中有一个数字,我想在单元格A1中放置一个DATABAR,它使用单元格B1作为绘制数据条的值.

据我所知,我只能根据该单元格中的实际值在单元格中绘制数据条.

这是对的还是我错过了什么?

excel

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