We have automated tests on the platform to improve our users' experience. These tests run each Actor on the platform daily with the given prefilled inputs and check whether the Actor is providing the expected prefilled output.
If your Actor does not pass these automated tests at least twice in last three days, it goes to the “Under maintenance”, and a banner on your Actor will say, “This Actor is under maintenance. Try out other similar Actors in the Store.”
In this article, I will explain why your Actor is failing the automated tests.
Reason 1: Your Actor needs an API Key/Token/Cookies, etc., as prefilled input.
This is one of the main reasons why your Actor is under maintenance. Whenever your Actor needs any API Key/Token/Cookies or any other information from the user as a “prefilled input,” the automated tests don’t know this, and the tests fail.
What's the solution?
When you receive an email from Apify about your Actor failing automated tests, click the "Skip QA" button in the message. This will disable automated tests for your Actor and remove the maintenance status.
Reason 2: Your Actor has no prefilled input for every required input.
Include a "prefill" value for every "required" field in your input schema. These prefill values let automated tests run your Actor with valid inputs, helping ensure the tests pass.
What’s the solution?
Go to input_schema.json and add a prefill value for each non-optional input field. Here's a simple example:
Reason 3: Your Actor has no proper input schema.
What’s the solution?
Go to the documentation here and check if you have all the required parameters or not.
Reason 4: Your Actor takes more than 5 minutes to do the task.
Actors can sometimes encounter bugs or get stuck during execution. To handle these situations, we set a 5-minute time limit for Actors to process prefilled input values during automated tests. If your Actor exceeds this limit, it's marked as under maintenance. Please make sure your Actor do the task under 5 minutes.
What’s the solution?
Ensure your Actor completes its prefilled input run in less than 5 minutes.
Reason 5: Your Actor is not giving any results.
What’s the solution?
Make sure your Actor produces expected results when running with prefilled input values. If this is an actual use case, when no dataset is returned, please contact support or ask us to disable the automated test from the email [Read Reason 1].