MyQueue: opdrachtregel- en Python-frontend voor HPC-taakbeheer
MyQueue dient ter indienen en monitoren van computationele taken via een commandoregeltool en een Python API, en behandelt automatische herstarts voor time-outs en out-of-memory fouten. Gemaakt door J. J. Mortensen en het MyQueue ontwikkelingsteam voor utilities-tools, verenigt de tool de interactie met SLURM, PBS, en LSF, volgt taken persistent met SQLite, en ondersteunt map-gebaseerde workflows en Python virtuele omgevingen. Het richt zich op onderzoekers en ingenieurs die veel cluster- of lokale taken uitvoeren en behoefte hebben aan geautomatiseerde herindiening en eenvoudige tracking.
Wat doet MyQueue in de praktijk?
MyQueue fungeert als een frontend voor HPC-schedulers, accepteert indieningen via het mq submit-commando of een Python API, en synchroniseert vervolgens lokale taaktracking met externe schedulers. Het registreert voltooide, mislukte en lopende taken in een map-gebaseerde SQLite-opslag, en kan werken met lokale machines of externe clusters die SLURM, PBS of LSF gebruiken. De invoer is een jobscript of Python-taak; de uitvoer is de queue-status zichtbaar via mq list.
Hoe betrouwbaar is automatische herindiening voor mislukte taken?
De app start automatisch taken opnieuw die falen door tijdslimieten of geheugenuitputting, en past de middelen aan bij herhaling volgens de gegeven logica. Dat gedrag vermindert handmatige herhalingen door de aangevraagde middelen te verhogen na specifieke foutsignaturen. Voortdurende tracking behoudt eerdere pogingen, zodat je de foutgeschiedenis kunt inspecteren voordat je een herindiening accepteert. De herindienlogica richt zich op middelen gerelateerde fouten in plaats van willekeurige fouten.
Is het veilig om te gebruiken op productieclusters?
MyQueue vereist geen aparte database of beheerdersrechten en slaat de status lokaal op met SQLite en mappen, wat de operaties transparant houdt. Het interageert met schedulers met behulp van hun native commando's, dus het hangt af van het toestemmingsmodel van de scheduler voor jobindiening en annulering. Het ontwerp van de tool vermijdt het schrijven van verborgen systeemdiensten; het opereert vanuit een gebruikersomgeving en behoudt jobrecords in de werkmap.
Heb ik technische kennis nodig om het te draaien?
Installatie vereist een Python-omgeving (Python 3.9 of later) en een pip-installatie, en de werking gebruikt commandoregelcommando's of de geleverde API. Casual gebruikers die niet bekend zijn met jobscripts of virtuele omgevingen zullen een leercurve ondervinden omdat de workflow verwacht dat er scheduler jobbeschrijvingen en omgevingactivatie zijn. Onderzoekers en data-engineers die al jobscripts en virtuele omgevingen voorbereiden, zullen merken dat het aansluit bij bestaande praktijken.
Wie zou MyQueue moeten adopteren en waarom
MyQueue is geschikt voor onderzoekers en ingenieurs die veel cluster- of lokale taken indienen en automatische herindiening willen voor resource-gerelateerde fouten; het vermindert handmatig herhaalwerk terwijl het taakgeschiedenis in een lokale SQLite-ondersteunde map bijhoudt. Verwacht een commandoregel- of scriptworkflow en enige initiële setup van Python en virtuele omgevingen. Aanbevolen.





