TypeError--using slurm queue to submit pyiron jobs
I'm facing some issues while running pyiron jobs on my HPC via the pysqa adapter. I had accidentally erased the main
pyiron directory containing
resources folders. I had copied all the three from another cluster. The only thing that I think will cause problem is
sqlite.db file in the
resources folder. Previously, I had no issues running interactive VASP jobs through the adapter. I'm guessing something happened after the deletion incident.
The pyiron version I'm using is: 0.2.17
Here is a minimal example using an Interactive vasp job that I have tried:
from pyiron import Project pr = Project('Al-test') structure = pr.create_structure('Al', 'fcc', 4.05) pr.remove_jobs(recursive=True) from pysqa import QueueAdapter sqa = QueueAdapter(directory='~/pyiron/resources/queues/') sqa.queue_view pr.job_table() job = pr.create_job(pr.job_type.Vasp, 'job_int') job.structure = structure job.server.run_mode.interactive = True job.executable.executable_path = '~/pyiron/resources/vasp/bin/run_vasp_5.4.4_std_mpi.sh' job.input.incar['NCORE']=4 job.server.queue = 'slurm' job.server.cores=16 job.server.view_queues() sqa.get_queue_status() job.run(run_again=True)
end of the error log:
~/pyiron/pyiron/pyiron/base/server/generic.py in queue_id(self, qid) 208 qid (int): queue ID 209 """ --> 210 self._queue_id = int(qid) 211 212 @property TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
Some inputs/feedback on this would be greatly appreciated.
We updated the queuing system interface in pyiron 0.3.X you can read more about this here: https://pyiron.org/news/releases/2020/09/06/pyiron-0-3-X-HPC-release.html
For pyiron 0.3.X we have a detailed installation guide available on readthedocs.org: https://pyiron.readthedocs.io/en/latest/source/installation.html#remote-hpc-cluster
So I highly recommend updating to pyiron 0.3.13.
Apart from this the error message basically says that the submission was not successful. If you navigate to the jobs working directory
job.working_directoryyou should find a
run_queue.shscript in the working directory. This is the script pyiron is using to submit the job to the queuing system. You can try to submit it manually using
sbatch run_queue.shthis should print the queue id if successful and otherwise the error message from your queuing system.