Skip to content

Commit

Permalink
feat: ensure that task name is not empty
Browse files Browse the repository at this point in the history
  • Loading branch information
gajus committed Dec 10, 2020
1 parent a6f2775 commit 36e3ec0
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions src/factories/createPlanton.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,12 @@ const createPlanton = (configuration: PlantonConfiguration): Planton => {
schedule: inputTask.schedule,
};

const taskName = task.name;

if (!taskName) {
throw new UnexpectedStateError('Task name cannot be empty.');
}

const terminate = (() => {
let delayPromise: any;

Expand All @@ -154,7 +160,7 @@ const createPlanton = (configuration: PlantonConfiguration): Planton => {
break;
}

const activeTaskInstructions = await getActiveTaskInstructions(inputTask.name);
const activeTaskInstructions = await getActiveTaskInstructions(taskName);

if (activeTaskInstructions.length >= concurrency) {
continue;
Expand All @@ -181,40 +187,40 @@ const createPlanton = (configuration: PlantonConfiguration): Planton => {
} catch (error) {
log.error({
error: serializeError(error),
taskName: task.name,
taskName,
}, 'scheduler produced an error');

events.emit('error', {
error,
taskName: task.name || '',
taskName,
});

taskInstructions = [];
}

if (!Array.isArray(taskInstructions)) {
events.emit('error', {
error: new UnexpectedTaskInstructionsError(task.name || '', taskInstructions),
taskName: task.name || '',
error: new UnexpectedTaskInstructionsError(taskName, taskInstructions),
taskName,
});

log.error({
taskInstructions,
taskName: task.name,
taskName,
}, 'scheduler produced an unexpected result; result is not array');

taskInstructions = [];
}

if (taskInstructions.length > limit) {
events.emit('error', {
error: new UnexpectedTaskInstructionsError(task.name || '', taskInstructions),
taskName: task.name || '',
error: new UnexpectedTaskInstructionsError(taskName, taskInstructions),
taskName,
});

log.error({
taskInstructions,
taskName: task.name,
taskName,
}, 'scheduler produced an unexpected result; instruction number is greater than the limit');

taskInstructions = [];
Expand All @@ -223,13 +229,13 @@ const createPlanton = (configuration: PlantonConfiguration): Planton => {
for (const taskInstruction of taskInstructions) {
if (typeof taskInstruction !== 'string') {
events.emit('error', {
error: new UnexpectedTaskInstructionsError(task.name || '', taskInstructions),
taskName: task.name || '',
error: new UnexpectedTaskInstructionsError(taskName, taskInstructions),
taskName,
});

log.error({
taskInstructions,
taskName: task.name,
taskName,
}, 'scheduler produced an unexpected result; array members are not string');

taskInstructions = [];
Expand All @@ -244,7 +250,7 @@ const createPlanton = (configuration: PlantonConfiguration): Planton => {
for (const taskInstruction of taskInstructions) {
events.emit('task', {
instruction: taskInstruction,
taskName: task.name || '',
taskName,
});
}
} else if (task.attemptNumber !== undefined) {
Expand Down

0 comments on commit 36e3ec0

Please sign in to comment.