本文整理汇总了C#中Interface.CommandQueue方法的典型用法代码示例。如果您正苦于以下问题:C# Interface.CommandQueue方法的具体用法?C# Interface.CommandQueue怎么用?C# Interface.CommandQueue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Interface
的用法示例。
在下文中一共展示了Interface.CommandQueue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: StartIndexing
private async void StartIndexing(Interface.IIndexService indexservice, string path)
{
int pageCounter = 0;
string line;
var file = new StreamReader(path);
var source = new List<Dictionary<string, string>>(3000000);
while ((line = file.ReadLine()) != null)
{
pageCounter++;
var document = new Dictionary<string, string>();
var id = pageCounter;
document.Add("title", line.Substring(0, line.IndexOf('|') - 1));
document.Add("body", line.Substring(line.IndexOf('|') + 1));
source.Add(document);
//indexservice.SendCommandToQueue(
// "wikipedia",
// IndexCommand.NewCreate(id.ToString(CultureInfo.InvariantCulture), document));
if (pageCounter % 100000 == 0)
{
Console.WriteLine(pageCounter);
}
}
Console.WriteLine("Starting Test");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
pageCounter = 0;
foreach (var item in source)
{
pageCounter++;
await
indexservice.CommandQueue()
.SendAsync(
new Tuple<string, IndexCommand>(
"wikipedia",
IndexCommand.NewCreate(pageCounter.ToString(CultureInfo.InvariantCulture), item)));
}
stopwatch.Stop();
FileInfo fileInfo = new FileInfo(path);
double fileSize = fileInfo.Length / 1073741824.0;
double time = stopwatch.ElapsedMilliseconds / 3600000.0;
double indexingSpeed = fileSize / time;
Console.WriteLine("Total Records indexed: " + pageCounter);
Console.WriteLine("Total Elapsed time (ms): " + stopwatch.ElapsedMilliseconds);
Console.WriteLine("Total Data Size (MB): " + fileInfo.Length / (1024.0 * 1024.0));
Console.WriteLine("Indexing Speed (GB/Hr): " + indexingSpeed);
}