Failed Runs Monitor avatar

Failed Runs Monitor

Try for free

No credit card required

Go to Store
Failed Runs Monitor

Failed Runs Monitor

jannovotny/failed-runs-monitor
Try for free

No credit card required

This actor will let you know about failed or time outed runs of your actors and tasks via Slack or email. It can also notice you about successful runs with empty dataset, check JSON schema of dataset items, or about runs that are running for too long.

This actor will let you know about failed or time outed runs of your actors and tasks via Slack or email. It can also notice you about successful runs with empty dataset, check JSON schema of dataset items, or about runs that are running for too long.

You will receive message like this to your slack or email:

1Found 1 actor/task with failed runs.
2
3These runs have failed for actor "failing-actor":
4- failed-run-id-1 (More than 250 dataset items expected, 10 found)
5- failed-run-id-2 (Should have finished in 3 hours, running for 5 hours)
6- failed-run-id-3 (Failed)
7- failed-run-id-4 (Timed out)
8- failed-run-id-5 (9 items did not match JSON schema)

Where failed-run-id-X will be links to the details of failed runs.

INPUT

Example of the input:

1{
2    // Required
3    "config": [
4        {
5            // Required
6            "actorId": "bbb",
7            // Optional
8            "minDatasetItems": 10,
9            // Optional
10            "maxRunTimeSecs": 3600
11        },
12        {
13            "taskId": "aaa",
14            "minDatasetItems": 10
15        }
16    ],
17    // Optional
18    "slackApiKey": "secret-api-key",
19    // Optional
20    "slackChannel": "#actor-notifications",
21    // Optional
22    "emails": ["john.doe@examle.com"],
23    // Optional
24    "inputMask": { "testRun": true },
25    // Optional
26    "ignoreByInputMask": false,
27    // Optional
28    "schema": {}
29}

Config is an array of objects, where every object has these attributes:

  • actorId - String, ID of the actor to monitor, One of actorId or taskId has to be provided
  • taskId - String, ID of the task to monitor, One of actorId or taskId has to be provided
  • minDatasetItems - Integer, If provided, then successful runs with less than minDatasetItems items in default dataset are considered as failed
  • maxRunTimeSecs - Integer, If provided, then runs running longer than maxRunTimeSecs are considered as failed

Note: If you want to receive slack notifications then both slackApiKey and slackChannel have to provided.

Input mask

You can use inputMask option to check only runs that contain something on input.

This option can be used in combinanion with ignoreByInputMask. If ignoreByInputMask is set to true, than matched runs will be ignored. This is useful when you need to skip testing runs.

JSON Schema

Every item in dataset will be checked using JSON schema given in schema. Invalid items are reported in log and also saved to key-value store using this key validation-errors-${run.id}.

Developer
Maintained by Community

Actor Metrics

  • 3 monthly users

  • 3 stars

  • >99% runs succeeded

  • Created in Mar 2019

  • Modified 2 years ago

Categories