This can sometimes happen when all available memory is exhausted. You will need command-line access to resolve the issue. You have two main options:
- Kill all jobs, including all those queued. Easier to do, as it is one command, but it means you will need to manually re-launch any queued jobs that were waiting on the import job to complete.
- Kill the specific job using SQL. From there, you may need to restart the atom-worker, but hopefully once restarted it will start on the next queued job. Requires MySQL command-prompt access, so it's a bit more complicated, but you may be able to keep the queued jobs this way.
For option 1, there is a Symfony task you can run from AtoM's root installation directory, which is typically /usr/share/nginx/atom if you have followed our recommended installation instructions. If you run the following, ALL jobs (including those queued, and those previously finished) will be cleared:
For option 2, we strongly recommend that you make a database backup first, as you should any time you are using SQL to make changes (just in case something goes wrong!). For both the backup and the actual SQL query, you will need access to the MySQL command prompt. See:
To make a backup of the database, see:
To kill a specific job that is stalled, you will need to first find the job ID, and then use that to kill the job. See:
With both options, you may need to restart the atom-worker before it will start processing new jobs.
To restart the atom-worker, see:
Some notes on this:
You can check the status of the atom-worker at any time with: sudo systemctl status atom-worker. This is useful to make sure the restart was successful.
When the worker dies, AtoM will attempt to automatically restart it - however, to prevent the system from being caught in an endless loop, we added a restart limit - 3 retries every 24 hours. You can reset this fail limit with the following command:
sudo systemctl reset-failed atom-worker
Then run the restart command again if the previous attempts didn't work.