After upgrading Alteryx Server successfully all Scheduled Workflows are in the state of "Queued".
Error Description
The below error is present in the Service Logs:
- Default location: C:\ProgramData\Alteryx\Service.
Error Message : "There was an error in Slave_Thread::DoWork: Server Error: 500 Server Error Key fields must be a WString: AS_Schedules__ID”.
The Scheduled Workflows show as queued with no jobs running in both "View Schedules" and Gallery.

Diagnosis
A good first step would be to confirm that these options have been checked:
- Scheduled jobs are in a state of Queued.
- The above errors are present in the logs.
- Alteryx Service is running.
- Users can log in to Gallery.
- Users can see their Studios and Workflows.
- "Run unassigned jobs" is checked in Alteryx System Settings > Worker > General
- Worker > General "Allow machine to run scheduled Alteryx workflows" is checked.
Cause
This can occur if jobs were queueing before the
mongo schema migration completed during a Server upgrade.
Solution 1
1. Open
Alteryx Designer on the Alteryx Server machine.
2. Go to
View Schedules and connect to the controller if not already connected.

3. Switch to the Queue tab and start by selecting the oldest queued job in the list. You can also run the attached workflow to identify the jobs that have null values for AS_Schedules__ID.

4. Cancel them and continue to cancel until they start running or the queue is empty

5. This should free up the queue of any blocks and the schedules jobs should start running on their own.
6. If this does not help you clear the queue,
contact support with
the logs from the controller.
- RuntimeSettings.xml (from %programdata%/Alteryx) from all nodes if multi-node setup
- Alteryx Gallery logs (default location: C:\ProgramData\Alteryx\Gallery\Logs)
- Alteryx Service logs (default location: C:\ProgramData\Alteryx\Service)
- Run msinfo32.exe from the Windows search box, and then save as an .nfo file.
Solution 2
Run the following commands in either Robo3T or Command Line (make sure to have a recent backup as the second command will involve editing the db):
Find corrupt records:
db.getCollection('AS_Queue').find({"AS_Schedules__ID":{$exists:false},"Status":"Queued"})
Remove corrupt records:
db.getCollection('AS_Queue').remove({"AS_Schedules__ID":{$exists:false},"Status":"Queued"})
Additional Resources