mirror of https://github.com/abpframework/abp.git
8 changed files with 110 additions and 46 deletions
@ -0,0 +1,4 @@ |
|||
import { QueueManager } from "../utils/queue"; |
|||
import { InjectionToken } from "@angular/core"; |
|||
|
|||
export const QUEUE_MANAGER = new InjectionToken<QueueManager>("QUEUE_MANAGER"); |
|||
@ -0,0 +1,48 @@ |
|||
export interface QueueManager { |
|||
add(fn: () => void): void; |
|||
init(interval: number, stackSize: number): void; |
|||
} |
|||
|
|||
export class DefaultQueueManager implements QueueManager { |
|||
private queue: Array<() => void> = []; |
|||
private isRunning = false; |
|||
private stack = 0; |
|||
private interval = 0; |
|||
private stackSize = 100; |
|||
|
|||
public init(interval: number, stackSize: number) { |
|||
this.interval = interval; |
|||
this.stackSize = stackSize; |
|||
} |
|||
|
|||
public add(fn: () => void) { |
|||
this.queue.push(fn); |
|||
this.run(); |
|||
} |
|||
|
|||
private run() { |
|||
if (this.isRunning) return; |
|||
this.stack++; |
|||
|
|||
this.isRunning = true; |
|||
|
|||
const fn = this.queue.shift(); |
|||
|
|||
if (!fn) { |
|||
this.isRunning = false; |
|||
return; |
|||
} |
|||
|
|||
fn(); |
|||
if (this.stack > this.stackSize) { |
|||
setTimeout(() => { |
|||
this.isRunning = false; |
|||
this.run(); |
|||
this.stack = 0; |
|||
}, this.interval); |
|||
} else { |
|||
this.isRunning = false; |
|||
this.run(); |
|||
} |
|||
} |
|||
} |
|||
@ -1,31 +1,31 @@ |
|||
{ |
|||
"ConnectionStrings": { |
|||
"Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=MyProjectName;Trusted_Connection=True" |
|||
}, |
|||
"OpenIddict": { |
|||
"Applications": { |
|||
"MyProjectName_Web": { |
|||
"ClientId": "MyProjectName_Web", |
|||
"ClientSecret": "1q2w3e*", |
|||
"RootUrl": "https://localhost:44302" |
|||
}, |
|||
"MyProjectName_Blazor": { |
|||
"ClientId": "MyProjectName_Blazor", |
|||
"RootUrl": "https://localhost:44307" |
|||
}, |
|||
"MyProjectName_App": { |
|||
"ClientId": "MyProjectName_App", |
|||
"RootUrl": "http://localhost:4200" |
|||
}, |
|||
"MyProjectName_BlazorServerTiered": { |
|||
"ClientId": "MyProjectName_BlazorServerTiered", |
|||
"ClientSecret": "1q2w3e*", |
|||
"RootUrl": "https://localhost:44309" |
|||
}, |
|||
"MyProjectName_Swagger": { |
|||
"ClientId": "MyProjectName_Swagger", |
|||
"RootUrl": "https://localhost:44305" |
|||
} |
|||
"ConnectionStrings": { |
|||
"Default": "Server=localhost;Database=MyProjectNameHOossos;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true" |
|||
}, |
|||
"OpenIddict": { |
|||
"Applications": { |
|||
"MyProjectName_Web": { |
|||
"ClientId": "MyProjectName_Web", |
|||
"ClientSecret": "1q2w3e*", |
|||
"RootUrl": "https://localhost:44302" |
|||
}, |
|||
"MyProjectName_Blazor": { |
|||
"ClientId": "MyProjectName_Blazor", |
|||
"RootUrl": "https://localhost:44307" |
|||
}, |
|||
"MyProjectName_App": { |
|||
"ClientId": "MyProjectName_App", |
|||
"RootUrl": "http://localhost:4200" |
|||
}, |
|||
"MyProjectName_BlazorServerTiered": { |
|||
"ClientId": "MyProjectName_BlazorServerTiered", |
|||
"ClientSecret": "1q2w3e*", |
|||
"RootUrl": "https://localhost:44309" |
|||
}, |
|||
"MyProjectName_Swagger": { |
|||
"ClientId": "MyProjectName_Swagger", |
|||
"RootUrl": "https://localhost:44305" |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
@ -1,19 +1,19 @@ |
|||
{ |
|||
"App": { |
|||
"SelfUrl": "https://localhost:44305", |
|||
"ClientUrl": "http://localhost:4200", |
|||
"CorsOrigins": "https://*.MyProjectName.com,http://localhost:4200,https://localhost:44307", |
|||
"RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307" |
|||
}, |
|||
"ConnectionStrings": { |
|||
"Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=MyProjectName;Trusted_Connection=True" |
|||
}, |
|||
"AuthServer": { |
|||
"Authority": "https://localhost:44305", |
|||
"RequireHttpsMetadata": "false", |
|||
"SwaggerClientId": "MyProjectName_Swagger" |
|||
}, |
|||
"StringEncryption": { |
|||
"DefaultPassPhrase": "gsKnGZ041HLL4IM8" |
|||
} |
|||
"App": { |
|||
"SelfUrl": "https://localhost:44305", |
|||
"ClientUrl": "http://localhost:4200", |
|||
"CorsOrigins": "https://*.MyProjectName.com,http://localhost:4200,https://localhost:44307", |
|||
"RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307" |
|||
}, |
|||
"ConnectionStrings": { |
|||
"Default": "Server=localhost;Database=MyProjectNameHOossos;User Id=sa;password=myPassw0rd;MultipleActiveResultSets=true" |
|||
}, |
|||
"AuthServer": { |
|||
"Authority": "https://localhost:44305", |
|||
"RequireHttpsMetadata": "false", |
|||
"SwaggerClientId": "MyProjectName_Swagger" |
|||
}, |
|||
"StringEncryption": { |
|||
"DefaultPassPhrase": "gsKnGZ041HLL4IM8" |
|||
} |
|||
} |
|||
|
|||
Loading…
Reference in new issue