forked from M-Labs/artiq
master: add filename in worker log entries. Closes #226
This commit is contained in:
parent
cc6b808bf8
commit
ae19f1c75d
|
@ -18,7 +18,7 @@ async def _get_repository_entries(entry_dict,
|
||||||
root, filename, get_device_db, log):
|
root, filename, get_device_db, log):
|
||||||
worker = Worker({
|
worker = Worker({
|
||||||
"get_device_db": get_device_db,
|
"get_device_db": get_device_db,
|
||||||
"log": partial(log, "scan")
|
"log": partial(log, "scan", os.path.basename(filename))
|
||||||
})
|
})
|
||||||
try:
|
try:
|
||||||
description = await worker.examine(os.path.join(root, filename))
|
description = await worker.examine(os.path.join(root, filename))
|
||||||
|
@ -124,7 +124,7 @@ class ExperimentDB:
|
||||||
filename = os.path.join(wd, filename)
|
filename = os.path.join(wd, filename)
|
||||||
worker = Worker({
|
worker = Worker({
|
||||||
"get_device_db": self.get_device_db_fn,
|
"get_device_db": self.get_device_db_fn,
|
||||||
"log": partial(self.log_fn, "examine")
|
"log": partial(self.log_fn, "examine", os.path.basename(filename))
|
||||||
})
|
})
|
||||||
try:
|
try:
|
||||||
description = await worker.examine(filename)
|
description = await worker.examine(filename)
|
||||||
|
|
|
@ -29,11 +29,11 @@ class LogBufferHandler(logging.Handler):
|
||||||
part)
|
part)
|
||||||
|
|
||||||
|
|
||||||
def log_worker(rid, message):
|
def log_worker(rid, filename, message):
|
||||||
level, name, message = parse_log_message(message)
|
level, name, message = parse_log_message(message)
|
||||||
log_with_name(name, level, message,
|
log_with_name(name, level, message,
|
||||||
extra={"source": "worker({})".format(rid)})
|
extra={"source": "worker({},{})".format(rid, filename)})
|
||||||
log_worker.worker_pass_rid = True
|
log_worker.worker_pass_runinfo = True
|
||||||
|
|
||||||
|
|
||||||
def log_args(parser):
|
def log_args(parser):
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import sys
|
import sys
|
||||||
|
import os
|
||||||
import asyncio
|
import asyncio
|
||||||
import logging
|
import logging
|
||||||
import subprocess
|
import subprocess
|
||||||
|
@ -45,6 +46,7 @@ class Worker:
|
||||||
self.send_timeout = send_timeout
|
self.send_timeout = send_timeout
|
||||||
|
|
||||||
self.rid = None
|
self.rid = None
|
||||||
|
self.filename = None
|
||||||
self.process = None
|
self.process = None
|
||||||
self.watchdogs = dict() # wid -> expiration (using time.monotonic)
|
self.watchdogs = dict() # wid -> expiration (using time.monotonic)
|
||||||
|
|
||||||
|
@ -191,8 +193,8 @@ class Worker:
|
||||||
func = self.register_experiment
|
func = self.register_experiment
|
||||||
else:
|
else:
|
||||||
func = self.handlers[action]
|
func = self.handlers[action]
|
||||||
if getattr(func, "worker_pass_rid", False):
|
if getattr(func, "worker_pass_runinfo", False):
|
||||||
func = partial(func, self.rid)
|
func = partial(func, self.rid, self.filename)
|
||||||
try:
|
try:
|
||||||
data = func(*obj["args"], **obj["kwargs"])
|
data = func(*obj["args"], **obj["kwargs"])
|
||||||
reply = {"status": "ok", "data": data}
|
reply = {"status": "ok", "data": data}
|
||||||
|
@ -227,6 +229,7 @@ class Worker:
|
||||||
|
|
||||||
async def build(self, rid, pipeline_name, wd, expid, priority, timeout=15.0):
|
async def build(self, rid, pipeline_name, wd, expid, priority, timeout=15.0):
|
||||||
self.rid = rid
|
self.rid = rid
|
||||||
|
self.filename = os.path.basename(expid["file"])
|
||||||
await self._create_process(expid["log_level"])
|
await self._create_process(expid["log_level"])
|
||||||
await self._worker_action(
|
await self._worker_action(
|
||||||
{"action": "build",
|
{"action": "build",
|
||||||
|
|
Loading…
Reference in New Issue