小编Ste*_*gin的帖子

检查存储过程是否正在运行

如何检查存储过程或查询是否仍在SQL Server中运行?

思路

  1. 我想过在程序启动时有一个日志写入的位置,并在结束时删除.

    缺陷:

    • 当服务器重新启动或程序内部出现某种故障时,它会打开机箱.
    • 在运行该过程之前,此方法需要完成一些工作,因此无法在已运行的过程中应用它.
  2. 使用进程监视器

我希望能有一个可以合并为一个存储过程的解决方案procedure_name和/或pid,parameters作为输入,所以跟踪程序或使用SQL Server的界面将无法正常工作的解决方案.


更新#1


用法示例:

CREATE PROCEDURE dbo.sp_sleeping_beauty 
    @time_str varchar(50)
AS 
   SET NOCOUNT ON;
   WAITFOR DELAY @time_str;
GO

dbo.sp_sleeping_beauty '00:00:10'
dbo.sp_sleeping_beauty '00:00:20'
dbo.sp_sleeping_beauty '00:00:30'
Run Code Online (Sandbox Code Playgroud)

该程序应该被称为

test_if_running 'dbo.sp_sleeping_beauty '00:00:20''
Run Code Online (Sandbox Code Playgroud)

在运行(20秒)时返回true,在函数失败或系统重启后返回false

sql sql-server stored-procedures

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

如何用c#控制youtube flash播放器?

我的目标是制作一个可以通过全球媒体键控制的开源YouTube播放器.我得到了全球关键问题,但YouTube播放器和我的Windows窗体应用程序之间的通信由于某种原因不起作用.

到目前为止,这就是我所拥有的:

private AxShockwaveFlashObjects.AxShockwaveFlash player;
player.movie = "http://youtube.googleapis.com/v/9bZkp7q19f0"
...
private void playBtn_Click(object sender, EventArgs e)
{
    player.CallFunction("<invoke name=\"playVideo\" returntype=\"xml\"></invoke>");
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这回归

"Error HRESULT E_FAIL has been returned from a call to a COM component."
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我应该加载不同的URL吗?
该文档指出,YouTube播放器使用ExternalInterface类来控制JavaScript或AS3,因此它应该与c#一起使用.


更新:


用于嵌入播放器的方法:http://www.youtube.com/watch?v = kg-z8JfOIKw

也试图用JavaScript的API WebBrowser控件,但没有运气(球员只是没有到JavaScript命令做出反应,甚至试图设置WebBrowser.url工作演示,都认为我成功是让onYouTubePlayerReady()使用简单火嵌入对象版本)

我认为可能存在一些我正在监督的安全问题,不知道.


更新2:


喜欢解决方案,请参阅下面的答案.

.net c# youtube flash youtube-api

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

使用bash&ssh的远程任务队列,用于可变数量的实时工作者

我想使用批处理将工作从主服务器分发到多个工作服务器.

理想情况下,我会有一个tasks.txt文件,其中包含要执行的任务列表

cmd args 1
cmd args 2
cmd args 3
cmd args 4
cmd args 5
cmd args 6
cmd args 7
...
cmd args n
Run Code Online (Sandbox Code Playgroud)

并且每个工作服务器将使用ssh进行连接,读取文件并将每一行标记为正在进行或已完成

#cmd args 1  #worker1 - done
#cmd args 2  #worker2 - in progress
#cmd args 3  #worker3 - in progress
#cmd args 4  #worker1 - in progress 
cmd args 5
cmd args 6
cmd args 7
...
cmd args n
Run Code Online (Sandbox Code Playgroud)

我知道如何进行ssh连接,读取文件,远程执行,但不知道如何进行读写原子操作,以免出现2台服务器启动相同任务的情况,以及如何更新这条线.

我希望每个工作人员都能进入任务列表并锁定列表中的下一个可用任务,而不是服务器主动命令工作人员,因为我将根据如何启动或关闭灵活数量的工作克隆我需要完成任务.

更新:

我对工人脚本的想法是:

#!/bin/bash

taskCmd=""
taskLine=0
masterSSH="ssh usr@masterhost"
tasksFile="/path/to/tasks.txt" …
Run Code Online (Sandbox Code Playgroud)

parallel-processing ssh bash

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

chrome 如何建立正确的字符编码?

我最近一直在处理很多字符集,在尝试为随机网页建立正确的字符集时发现了很多问题。字符集可以在 html 文档的标题中设置,也可以在<head>节内设置,多次或有时省略声明。尽管存在这些问题,chrome 每次都在设置最佳字符集方面做得很好。

我试过搜索资源,但没有找到任何东西,因为我不知道去哪里找。

所以我的问题是我在哪里可以找到算法?

谢谢


更新:

有问题的示例:

文档的 HTTP 标头(基于服务器配置):
Content-type: text/html; charset=utf-8
并且文档如下所示:

<?xml version="1.0" encoding="ISO-8859-1"?>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1" />
</head>
<body>...</body>
</html>
Run Code Online (Sandbox Code Playgroud)

将使用哪种编码来呈现文本?

encoding webkit google-chrome character-encoding chromium

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

从bash中的大文件中获取随机行

如何n从无法放入内存的非常大的文件中获取随机行。

如果我可以在随机化之前或之后添加过滤器也很棒。


更新 1

就我而言,规格是:

  • > 1 亿行
  • > 10GB 文件
  • 通常随机批量大小 10000-30000
  • 512RAM 托管 ubuntu 服务器 14.10

所以从文件中丢失几行不会是一个大问题,因为无论如何它们都有 1 万分之一的机会,但性能和资源消耗将是一个问题

bash command-line random-sample line-processing

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

在bash中将stdout转换为utf8

我想将使用curl获得的任何网站的输出转换为数据插入的utf8.

用法ex:

html="$(curl -iL -compressed "$link")"

##code needed to convert nonUTF8 $html to utf8, preferably without writing to file

## escape characters for insert
html_q="${html//'\'/\\\\}"
html_q="${html_q//"'"/\'}"

## the insert statement
sqlHtml='INSERT INTO `'"${tableHtml}"'` (`html`) VALUES ('"'${html_q}'"');'
mysql -u$dbUser -p$dbPass -h$dbHost -P$dbPort -D$dbName --default_character_set utf8 -A <<ENDofMESSAGE
${sqlHtml}
ENDofMESSAGE
Run Code Online (Sandbox Code Playgroud)

mysql bash curl utf-8 character-encoding

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

boost :: asio :: async_read在换行符上返回文件错误结束

我正在尝试使用async_readasync_write超时向服务器发出简单的tcp请求.

问题是async_read在尝试读取直到传输结束时出错,在第一个'\n'上它返回错误(文件结束).

当逐行读取字符串时(当eots-> at(last_request)='\n')时,它成功读取整个响应.

if(eots->at(last_request)=="") // read until end
        {
             boost::asio::async_read(
                socket_
                , input_buffer_
                , boost::asio::transfer_at_least(1) // read untill end or error
                , boost::bind(&tcp_client::do_Requests_read_handle, this, boost::asio::placeholders::error)
                );
        }else
        {
            boost::asio::async_read_until(
                socket_
                , input_buffer_
                , eots->at(last_request) // read until current request end of transmission sign/string or error
                , boost::bind(&tcp_client::do_Requests_read_handle, this, _1)
                );
        }
Run Code Online (Sandbox Code Playgroud)

这是预期的行为吗?我做得对吗?

对于测试,我尝试进行whois查询(args whois.iana.org 43 com).

完整代码:

/*
 * MK async TCP
 * contains basic definitions for extractions and string filtering
 * …
Run Code Online (Sandbox Code Playgroud)

c++ boost asynchronous tcp boost-asio

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

在新字符串中将字符串转换为小写

转换字符串可以完成

std::transform(s.begin(), s.end(), s.begin(), ::toupper);
Run Code Online (Sandbox Code Playgroud)

但是将它转换为新的修改副本的最佳方法是什么?

尝试过:

string s1="text",s2;
std::transform(s1.begin(), s1.end(), s2.begin(), ::toupper);
Run Code Online (Sandbox Code Playgroud)

但它在运行时因"分段错误"而失败

我设法做到了:

string s1="text",s2;
s2 = s1;
std::transform(s2.begin(), s2.end(), s2.begin(), ::toupper);
Run Code Online (Sandbox Code Playgroud)

当然你可以通过char创建一个char函数,但我不认为这是最优的,而且我也没有从中学到任何东西......

c++

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

使用代码接收测试文件上传

问题:

当使用带有PhpBrowser驱动程序的REST模块通过代码接收测试发出请求时,没有数据和文件通过Silex应用程序。

    // ApiTester $I
    $I->wantTo('Submit files');

    // prepare:
    $data = ['key' => 'value'];
    $files = [
        'file_key' => 'path/to/file.doc',
        'file2_key' => 'path/to/file2.doc'
    ];

    // act:
    $I->haveHttpHeader('Content-Type', 'multipart/form-data');
    $I->sendPOST('/attachments/', $data, $files);
Run Code Online (Sandbox Code Playgroud)

当前反应

 I have http header "Content-Type","multipart/form-data"
 I send post "/attachments/",{"key":"value"},{"file_key":"/path/to/file/...}
  [Request] POST http://localhost/attachments/ {"key":"value"}
  [Request Headers] {"Content-Type":"multipart/form-data"}
  [Page] http://localhost/attachments/
  [Response] 400
  [Request Cookies] []
  [Response Headers] {"Date":["Tue, 25 Oct 2016 09:15:31 GMT"],"Server":["Apache/2.4.10 (Debian)"],"Cache-Control":["no-cache"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Headers":["Content-Type, Authorization"],"Access-Control-Allow-Methods":["GET,PATCH,PUT,POST,HEAD,DELETE,OPTIONS"],"Content-Length":["1235"],"Connection":["close"],"Content-Type":["application/json"]}
  [Response] {"status":400,"meta":{"time":"2016-10-25 09:15:31"},"title":"Invalid Request","errors":"No data received","details":{"error_class":"Symfony\Component\HttpKernel\Exception\BadRequestHttpException"
Run Code Online (Sandbox Code Playgroud)

尝试过:

  • 更改Content-Type标头
  • 更改传递给sendPOST的文件数组到以下数组:
    • 文件路径文件对象(UploadedFile)
    • 文件数组

该测试可与Silex驱动程序一起使用,但在CI服务器上将不可选。我们还检查了Postman,API路由按预期工作,文件已发送且一切正常。

phpunit codeception web-api-testing

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