diff --git a/tests/test_webservice.py b/tests/test_webservice.py index 65ac0546c5dc1343d8533a2c959d71079bb948cb..29dbfb2ab6f6ddf8f89432391c57682daa2e5211 100644 --- a/tests/test_webservice.py +++ b/tests/test_webservice.py @@ -214,3 +214,10 @@ async def test_get_slurm_nice_fails(fp): assert await get_slurm_nice('upex-higher', 'SPB', '202201') == 0 + # exfel is special + fp.register( + ['squeue', '-h', '-o', '%.20j', '-p', 'exfel', '--me'], + stdout='\n'.join([f'correct_SPB_{i}' for i in range(10)]), + returncode=0) + + assert await get_slurm_nice('exfel', 'SPB', '202201') == 0 diff --git a/webservice/webservice.py b/webservice/webservice.py index 983d33e58b8a00b2aca4bb8cfba86c9d1494fa0e..21e28df6a323525f19340e4be611e8c46e854dc8 100644 --- a/webservice/webservice.py +++ b/webservice/webservice.py @@ -694,6 +694,9 @@ async def get_slurm_nice(partition: str, instrument: str, :return: Nice value to be passed to sbatch --nice """ + if partition == 'exfel': + return 0 # Don't apply degressive priority on exfel. + # List all names for jobs running in the specified partition. returncode, job_names = await run_proc_async( ['squeue', '-h', '-o', '%.20j', '-p', partition, '--me'])