public async Task ConcurrentSqliteFileAsync() { var databasePath = GetTempDatabasePath(); var db = new SqliteRequestQueue.SqliteRequestQueue(databasePath); var tasks = Enumerable.Range(1, 3) .Select(i => RqTestDefaultWorkflow(db, NextCrawlId())).ToList(); foreach (var task in tasks) { await task; } }
public async Task SqliteFileAsync() { var databasePath = GetTempDatabasePath(); IRequestQueue rq = new SqliteRequestQueue.SqliteRequestQueue(databasePath); await RqTestDefaultWorkflow(rq, NextCrawlId()); try { File.Delete(databasePath); } catch { TestContext.WriteLine($"Cant delete {databasePath}"); } }
public void InMemorySync() { IRequestQueue rq = new SqliteRequestQueue.SqliteRequestQueue(":memory:"); var crawlId = NextCrawlId(); rq.Enqueue(crawlId, new [] { "j1", "j2", "j3" }); var d0 = rq.Dequeue(crawlId, 1, DateTimeOffset.UtcNow.AddSeconds(1)); rq.Delete(crawlId, d0); rq.Dequeue(crawlId, 1, DateTimeOffset.UtcNow.AddSeconds(-1)); rq.Enqueue(crawlId, new [] { "j4", "j5" }); var d1 = rq.Dequeue(1, 10, DateTimeOffset.UtcNow.AddSeconds(10)); Assert.AreEqual(4, d1.Count); rq.Delete(crawlId, d1); }
public async Task SqliteInMemoryAsync() { IRequestQueue rq = new SqliteRequestQueue.SqliteRequestQueue(":memory:"); await RqTestDefaultWorkflow(rq, NextCrawlId()); }