本文整理汇总了C#中IDataAccess.UpsertDocuments方法的典型用法代码示例。如果您正苦于以下问题:C# IDataAccess.UpsertDocuments方法的具体用法?C# IDataAccess.UpsertDocuments怎么用?C# IDataAccess.UpsertDocuments使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDataAccess
的用法示例。
在下文中一共展示了IDataAccess.UpsertDocuments方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Start
public void Start(int pollIntervalInSeconds, IDataAccess dal, ILogger logger)
{
while (true) {
try {
var batch = dal.DequeueTransform();
if (batch.Count > 0) {
var docsToUpsert = new Dictionary<string, string> ();
foreach (var rootId in batch) {
var allRows = dal.GetRows (rootId);
JObject finalDoc = CombineRows (rootId, allRows);
if (finalDoc != null) {
finalDoc ["_transformed_on"] = DateTime.Now;
string doc = JsonConvert.SerializeObject (finalDoc);
docsToUpsert.Add (rootId, doc);
}
}
dal.UpsertDocuments(docsToUpsert);
logger.WriteLine ("Transformed {0}...", batch.Count);
} else {
Thread.Sleep (pollIntervalInSeconds * 1000);
}
_backoff = 1;
} catch (Exception ex) {
if (_backoff < 5) {
_backoff++;
}
logger.WriteLine (ex.ToString ());
Debug.WriteLine (ex.ToString ());
Thread.Sleep (_backoff * 1000);
}
}
}