Skip to content

Commit ab41eb0

Browse files
committed
use uid instead of user names so that jobqueues can work from within docker images
1 parent ec30a02 commit ab41eb0

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

jobqueues/lsfqueue.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -335,16 +335,15 @@ def inprogress(self):
335335
Total running and queued workunits
336336
"""
337337
import time
338-
import getpass
339338

340339
if self.queue is None:
341340
raise ValueError("The queue needs to be defined.")
342341
if self.jobname is None:
343342
raise ValueError("The jobname needs to be defined.")
344-
user = getpass.getuser()
343+
uid = os.getuid()
345344
l_total = 0
346345
for q in ensurelist(self.queue):
347-
cmd = [self._qstatus, "-J", self.jobname, "-u", user, "-q", q]
346+
cmd = [self._qstatus, "-J", self.jobname, "-u", uid, "-q", q]
348347
logger.debug(cmd)
349348

350349
# This command randomly fails so I need to allow it to repeat or it crashes adaptive
@@ -372,21 +371,19 @@ def inprogress(self):
372371

373372
def stop(self):
374373
"""Cancels all currently running and queued jobs"""
375-
import getpass
376-
377374
if self.jobname is None:
378375
raise ValueError("The jobname needs to be defined.")
379376

380-
user = getpass.getuser()
377+
uid = os.getuid()
381378

382379
if self.queue is not None:
383380
for q in ensurelist(self.queue):
384-
cmd = [self._qcancel, "-J", self.jobname, "-u", user, "-q", q]
381+
cmd = [self._qcancel, "-J", self.jobname, "-u", uid, "-q", q]
385382
logger.debug(cmd)
386383
ret = check_output(cmd, stderr=DEVNULL)
387384
logger.debug(ret.decode("ascii"))
388385
else:
389-
cmd = [self._qcancel, "-J", self.jobname, "-u", user]
386+
cmd = [self._qcancel, "-J", self.jobname, "-u", uid]
390387
logger.debug(cmd)
391388
ret = check_output(cmd, stderr=DEVNULL)
392389
logger.debug(ret.decode("ascii"))

jobqueues/slurmqueue.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,10 @@
88
import random
99
import string
1010
from jobqueues.config import loadConfig
11-
import yaml
1211
from subprocess import check_output, CalledProcessError
1312
from protocolinterface import val
1413
from jobqueues.simqueue import SimQueue, QueueJobStatus, _inProgressStatus
1514
from jobqueues.util import ensurelist
16-
import getpass
17-
import unittest
1815
import logging
1916

2017
logger = logging.getLogger(__name__)
@@ -227,7 +224,7 @@ def __init__(
227224
"user",
228225
"str",
229226
"The SLURM user submitting and managing jobs",
230-
getpass.getuser(),
227+
os.getuid(),
231228
val.String(),
232229
)
233230
self._arg(

0 commit comments

Comments
 (0)