12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import { Config } from './config';
- export interface Task {
- capabilities: any;
- specs: Array<string>;
- taskId: string;
- done: any;
- }
- /**
- * The taskScheduler keeps track of the spec files that needs to run next
- * and which task is running what.
- */
- export declare class TaskQueue {
- capabilities: any;
- specLists: any;
- numRunningInstances: number;
- maxInstance: number;
- specsIndex: number;
- constructor(capabilities: any, specLists: any);
- }
- export declare class TaskScheduler {
- private config;
- taskQueues: Array<TaskQueue>;
- rotationIndex: number;
- /**
- * A scheduler to keep track of specs that need running and their associated
- * capabilities. It will suggest a task (combination of capabilities and spec)
- * to run while observing the following config rules:
- * multiCapabilities, shardTestFiles, and maxInstance.
- * Precondition: multiCapabilities is a non-empty array
- * (capabilities and getCapabilities will both be ignored)
- *
- * @constructor
- * @param {Object} config parsed from the config file
- */
- constructor(config: Config);
- /**
- * Get the next task that is allowed to run without going over maxInstance.
- *
- * @return {{capabilities: Object, specs: Array.<string>, taskId: string,
- * done: function()}}
- */
- nextTask(): Task;
- /**
- * Get the number of tasks left to run or are currently running.
- *
- * @return {number}
- */
- numTasksOutstanding(): number;
- /**
- * Get maximum number of concurrent tasks required/permitted.
- *
- * @return {number}
- */
- maxConcurrentTasks(): number;
- /**
- * Returns number of tasks currently running.
- *
- * @return {number}
- */
- countActiveTasks(): number;
- }
|