Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multitasking (EWMS_PILOT_CONCURRENT_TASKS) [minor] #199

Draft
wants to merge 100 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
982775b
CI: `EWMS_PILOT_CONCURRENT_TASKS: 3`
ric-evans Jun 7, 2023
7f9e4f4
<bot> update requirements-all.txt
wipacdevbot Jun 7, 2023
69713a2
<bot> update requirements-client-starter.txt
wipacdevbot Jun 7, 2023
592e75b
<bot> update requirements-nats.txt
wipacdevbot Jun 7, 2023
e53d899
<bot> update requirements-pulsar.txt
wipacdevbot Jun 7, 2023
b4c959e
<bot> update requirements-rabbitmq.txt
wipacdevbot Jun 7, 2023
f546b8b
<bot> update requirements.txt
wipacdevbot Jun 7, 2023
7eb6740
CI: `EWMS_PILOT_CONCURRENT_TASKS` in matrix
ric-evans Jun 7, 2023
02cae79
CI: dump memory stats for 1 min
ric-evans Jun 7, 2023
886f5cc
dump memory stats more
ric-evans Jun 7, 2023
d8f1207
<bot> update requirements-all.txt
wipacdevbot Jun 7, 2023
174af1e
<bot> update requirements-client-starter.txt
wipacdevbot Jun 7, 2023
4362cee
<bot> update requirements-nats.txt
wipacdevbot Jun 7, 2023
9a00dd3
<bot> update requirements-pulsar.txt
wipacdevbot Jun 7, 2023
26084c5
<bot> update requirements-rabbitmq.txt
wipacdevbot Jun 7, 2023
b298513
<bot> update requirements.txt
wipacdevbot Jun 7, 2023
8e7b963
Merge remote-tracking branch 'origin/main' into multitasking
ric-evans Jun 8, 2023
cb22b73
<bot> update requirements-all.txt
wipacdevbot Jun 8, 2023
732985b
<bot> update requirements-client-starter.txt
wipacdevbot Jun 8, 2023
212c7dc
<bot> update requirements-nats.txt
wipacdevbot Jun 8, 2023
08f660e
<bot> update requirements-pulsar.txt
wipacdevbot Jun 8, 2023
8ef489d
<bot> update requirements-rabbitmq.txt
wipacdevbot Jun 8, 2023
4cfaa75
<bot> update requirements.txt
wipacdevbot Jun 8, 2023
20ca9e4
Merge branch 'main' into multitasking
ric-evans Jun 15, 2023
23f2c01
<bot> update requirements-all.txt
wipacdevbot Jun 15, 2023
dfb9308
<bot> update requirements-client-starter.txt
wipacdevbot Jun 15, 2023
c61155b
<bot> update requirements-nats.txt
wipacdevbot Jun 15, 2023
7c7f764
<bot> update requirements-pulsar.txt
wipacdevbot Jun 15, 2023
dbec086
<bot> update requirements-rabbitmq.txt
wipacdevbot Jun 15, 2023
d659c6b
<bot> update requirements.txt
wipacdevbot Jun 15, 2023
7386064
Merge branch 'main' into multitasking
ric-evans Jul 7, 2023
54ecf21
<bot> update requirements-all.txt
wipacdevbot Jul 7, 2023
0ab2329
<bot> update requirements-client-starter.txt
wipacdevbot Jul 7, 2023
fe52c9a
<bot> update requirements-nats.txt
wipacdevbot Jul 7, 2023
c8fda07
<bot> update requirements-pulsar.txt
wipacdevbot Jul 7, 2023
e7f55d4
<bot> update requirements-rabbitmq.txt
wipacdevbot Jul 7, 2023
c924bca
<bot> update requirements.txt
wipacdevbot Jul 7, 2023
9f9e453
CI: flip matrix order
ric-evans Jun 8, 2023
d23afa9
<bot> update requirements-all.txt
wipacdevbot Jul 17, 2023
1b2417e
<bot> update requirements-client-starter.txt
wipacdevbot Jul 17, 2023
4ff39d7
<bot> update requirements-nats.txt
wipacdevbot Jul 17, 2023
6f19e10
<bot> update requirements-pulsar.txt
wipacdevbot Jul 17, 2023
f095263
<bot> update requirements-rabbitmq.txt
wipacdevbot Jul 17, 2023
1e8a24e
<bot> update requirements.txt
wipacdevbot Jul 17, 2023
e3dba8a
fix `test-build-docker-pulsar`
ric-evans Jul 17, 2023
4eedeb2
<bot> update requirements-all.txt
wipacdevbot Jul 18, 2023
27128f7
<bot> update requirements-client-starter.txt
wipacdevbot Jul 18, 2023
14ccbf9
<bot> update requirements-nats.txt
wipacdevbot Jul 18, 2023
90c7171
<bot> update requirements-pulsar.txt
wipacdevbot Jul 18, 2023
475f3ee
<bot> update requirements-rabbitmq.txt
wipacdevbot Jul 18, 2023
7a2aa36
<bot> update requirements.txt
wipacdevbot Jul 18, 2023
f67bd9e
Merge remote-tracking branch 'origin/main' into multitasking
ric-evans Jul 21, 2023
97dedbd
Merge remote-tracking branch 'origin/main' into multitasking
ric-evans Sep 11, 2023
12d83e9
add back multitasking ci
ric-evans Sep 11, 2023
a0031a1
<bot> update dependencies*.log files(s)
wipacdevbot Sep 11, 2023
a17a71f
move reco-algo to startup.json from message for memory pre-loading
ric-evans Sep 11, 2023
d5a21b5
Merge remote-tracking branch 'origin/main' into multitasking
ric-evans Sep 20, 2023
e7a3b3e
don't pin mq packages
ric-evans Sep 20, 2023
b7270bf
<bot> update dependencies*.log files(s)
wipacdevbot Sep 20, 2023
2bb64ca
<bot> update dependencies*.log files(s)
wipacdevbot Sep 21, 2023
000757d
add `reco_algo` to test data
ric-evans Sep 21, 2023
81e6aed
add back `ewms_pilot_concurrent_tasks`
ric-evans Sep 21, 2023
9d982a6
add missing `--reco-algo` to single-pixel test & make required
ric-evans Sep 21, 2023
cd07ab2
dump reco-icetray logs
ric-evans Sep 21, 2023
7e07ff1
dump reco-icetray logs - 2 (ignore `.i3` and `.pkl` files
ric-evans Sep 21, 2023
85c0e28
use `tree`
ric-evans Sep 21, 2023
3b77685
<bot> update dependencies*.log files(s)
wipacdevbot Sep 21, 2023
75fed2f
turn off gha `concurrency` (temp)
ric-evans Sep 26, 2023
8e7934d
launch with one client on runners with multitasking
ric-evans Sep 26, 2023
26a9f16
use `--ipc="host"`
ric-evans Sep 26, 2023
d5ca7b6
<bot> update dependencies*.log files(s)
wipacdevbot Sep 26, 2023
e251147
Revert "use `--ipc="host"`"
ric-evans Sep 26, 2023
7e93b79
use `--shm-size=16gb`
ric-evans Sep 26, 2023
313ec03
fix f-string
ric-evans Sep 26, 2023
6b9577d
use `--shm-size=32gb`
ric-evans Sep 26, 2023
ab97c02
temp - `ls /dev/shm` outside and inside container
ric-evans Sep 27, 2023
807223b
<bot> update dependencies*.log files(s)
wipacdevbot Sep 27, 2023
f55de80
temp - `ls /dev/shm` outside and inside container - 2
ric-evans Sep 27, 2023
9e738f8
Revert "Revert "use `--ipc="host"`""
ric-evans Sep 27, 2023
d11c836
<bot> update dependencies*.log files(s)
wipacdevbot Sep 29, 2023
74c71af
Merge remote-tracking branch 'origin/main' into multitasking
ric-evans Oct 2, 2023
5f9b311
misc
ric-evans Oct 2, 2023
ea69258
add `client/prepare.py` and use as `init_cmd`
ric-evans Oct 2, 2023
32067c1
clean up `if __name__ == "__main__"` blocks and `Done` logging
ric-evans Oct 2, 2023
f8b0da2
fix call
ric-evans Oct 2, 2023
36ab7b1
<bot> update setup.cfg
wipacdevbot Oct 2, 2023
6a499a1
use `WIPACrepo/[email protected]`
ric-evans Oct 2, 2023
35e3f40
<bot> update setup.cfg
wipacdevbot Oct 2, 2023
4588914
<bot> update dependencies*.log files(s)
wipacdevbot Oct 2, 2023
10a29e0
<bot> update dependencies*.log files(s)
wipacdevbot Oct 2, 2023
fe8b558
rename to `client/pilot subprocesses stderr & stdout`
ric-evans Oct 2, 2023
5ff47a2
add sleep for non parallel case
ric-evans Oct 2, 2023
509c473
add sleep for non parallel case - 2
ric-evans Oct 2, 2023
b587266
use `tasks_concurrency` (`yes/no`) for setting task concurrency
ric-evans Oct 2, 2023
c3f2a05
add sleep for non parallel case - 3
ric-evans Oct 2, 2023
7c7dc14
use `multiclient/multitask`
ric-evans Oct 2, 2023
51ebb6b
adjust logging & remove `LOGGER.*->`
ric-evans Oct 2, 2023
6b25f1d
ls /dev/shm after init
ric-evans Oct 2, 2023
5238055
add logging around I3PhotoSplineService startup
ric-evans Oct 2, 2023
75dfa3e
ls /dev/shm after init (at top of reco)
ric-evans Oct 2, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 47 additions & 12 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ on:
- '**'


concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
# don't cancel on main/master/default
cancel-in-progress: ${{ format('refs/heads/{0}', github.event.repository.default_branch) != github.ref }}
# concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# # don't cancel on main/master/default
# cancel-in-progress: ${{ format('refs/heads/{0}', github.event.repository.default_branch) != github.ref }}


env:
Expand All @@ -23,7 +23,7 @@ env:
SKYSCAN_CACHE_DIR: /home/runner/work/skymap_scanner/skymap_scanner/cache
SKYSCAN_OUTPUT_DIR: /home/runner/work/skymap_scanner/skymap_scanner/output
SKYSCAN_DEBUG_DIR: /home/runner/work/skymap_scanner/skymap_scanner/debug
EWMS_PILOT_DUMP_SUBPROC_OUTPUT: False # get logs in "reco-icetray logs" step instead
EWMS_PILOT_DUMP_SUBPROC_OUTPUT: False # get logs in "client/pilot subprocesses stderr & stdout" step instead
# see source tests/env-vars.sh


Expand Down Expand Up @@ -78,7 +78,7 @@ jobs:
uses: actions/checkout@v3
with:
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- uses: WIPACrepo/wipac-dev-py-setup-action@v2.5
- uses: WIPACrepo/wipac-dev-py-setup-action@v2.6
if: github.actor != ${{ env.BOT_NAME }} # no auto-updates for bots # should match all 'git_committer_name' uses
with:
git_committer_name: ${{ env.BOT_NAME }}
Expand Down Expand Up @@ -188,7 +188,7 @@ jobs:
./resources/launch_scripts/wait_for_file.sh ./startup.json $CLIENT_STARTER_WAIT_FOR_STARTUP_JSON

# Launch Clients
nclients=$(( $_CLIENTS_PER_CPU * $(nproc) ))
nclients=$(( $_NCLIENTS * $(nproc) ))
echo "Launching $nclients clients"
mkdir $SKYSCAN_DEBUG_DIR
export EWMS_PILOT_TASK_TIMEOUT=1800 # 30 mins
Expand Down Expand Up @@ -231,8 +231,11 @@ jobs:
1.0,
0.65,
]
concurrency: [
'multitask',
"multiclient",
]
env:
_CLIENTS_PER_CPU: 1 # there isn't any improvement when >1
SKYSCAN_BROKER_ADDRESS: user1@localhost/test
SKYSCAN_BROKER_AUTH: password # using this would override password in address
services:
Expand Down Expand Up @@ -272,10 +275,24 @@ jobs:
export _EVENTS_FILE=$(realpath $REALTIME_EVENTS_DIR/hese_event_01.json)
export _NSIDES="${{ matrix.nsides }}"
export _PREDICTIVE_SCANNING_THRESHOLD=${{ matrix.predictive_scanning_threshold }}
export _NCLIENTS=$(nproc)

if [[ ${{ matrix.concurrency }} == "multiclient" ]]; then
# if not using concurrent tasks, then use multiple clients
export _NCLIENTS=$(nproc)
export EWMS_PILOT_CONCURRENT_TASKS=0
else
export _NCLIENTS=1
export EWMS_PILOT_CONCURRENT_TASKS=$(nproc)
fi

free # dump memory stats

cd ./resources/launch_scripts
./local-scan.sh

free # dump memory stats

- name: check no nsides skipped
run: |
ls $SKYSCAN_OUTPUT_DIR
Expand All @@ -291,7 +308,7 @@ jobs:
assert len(pydict) == nsides.count(":")
'

- name: reco-icetray logs
- name: client/pilot subprocesses stderr & stdout
if: always()
run: |
sudo apt install tree
Expand Down Expand Up @@ -319,13 +336,15 @@ jobs:
run00136766-evt000007637140-GOLD.pkl,
run00136662-evt000035405932-BRONZE.pkl
]
concurrency: [
'multitask',
"multiclient",
]
exclude:
# splinempe should not run on HESE
- reco_algo: splinempe
eventfile: hese_event_01.json

env:
_CLIENTS_PER_CPU: 1 # there isn't any improvement when >1
SKYSCAN_BROKER_ADDRESS: user1@localhost/test
SKYSCAN_BROKER_AUTH: password # using this would override password in address
services:
Expand Down Expand Up @@ -372,9 +391,24 @@ jobs:
export _EVENTS_FILE=$(realpath $REALTIME_EVENTS_DIR/${{ matrix.eventfile }})
export _NSIDES="1:0"

if [[ ${{ matrix.concurrency }} == "multiclient" ]]; then
# if not using concurrent tasks, then use multiple clients
export _NCLIENTS=$(nproc)
export EWMS_PILOT_CONCURRENT_TASKS=0
else
export _NCLIENTS=1
export EWMS_PILOT_CONCURRENT_TASKS=$(nproc)
fi

ls /dev/shm
free # dump memory stats

cd ./resources/launch_scripts
./local-scan.sh

free # dump memory stats
ls /dev/shm

- name: test output against known result (.json)
run: |
ls $SKYSCAN_OUTPUT_DIR
Expand All @@ -389,7 +423,7 @@ jobs:
--assert \
|| (cat $(ls *.diff.json) && false)

- name: reco-icetray logs
- name: client/pilot subprocesses stderr & stdout
if: always()
run: |
sudo apt install tree
Expand Down Expand Up @@ -488,6 +522,7 @@ jobs:
icecube/skymap_scanner:local \
python -m skymap_scanner.client.reco_icetray \
--in-pkl /local/pkls/in.pkl \
--reco-algo ${{ matrix.reco_algo }} \
--gcdqp-packet-json /local/pkls/GCDQp_packet.json \
--baseline-gcd-file $(jq -r '.baseline_GCD_file' tests/data/reco_pixel_pkls/${{ matrix.reco_algo }}/${{ matrix.dir }}/startup.json) \
--out-pkl /local/pkls/out.pkl
Expand Down
6 changes: 3 additions & 3 deletions dependencies-from-Dockerfile.log
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ decorator==4.4.2
defusedxml==0.7.1
docutils==0.20.1
et-xmlfile==1.0.1
ewms-pilot==0.14.0
ewms-pilot==0.15.1
fonttools==4.29.1
fs==2.4.12
gast==0.5.2
healpy==1.15.0
htchirp==2.0
htcondor==10.9.0
htcondor==23.0.0
html5lib==1.1
humanfriendly==10.0
hypothesis==6.36.0
Expand Down Expand Up @@ -126,7 +126,7 @@ typing_extensions==4.8.0
ufoLib2==0.13.1
unicodedata2==14.0.0
UNKNOWN @ file:///root/nuflux-2.0.4
urllib3==2.0.5
urllib3==2.0.6
urwid==2.1.2
wcwidth==0.2.5
webencodings==0.5.1
Expand Down
4 changes: 2 additions & 2 deletions dependencies-from-Dockerfile_pulsar.log
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ decorator==4.4.2
defusedxml==0.7.1
docutils==0.20.1
et-xmlfile==1.0.1
ewms-pilot==0.14.0
ewms-pilot==0.15.1
fonttools==4.29.1
fs==2.4.12
gast==0.5.2
Expand Down Expand Up @@ -126,7 +126,7 @@ typing_extensions==4.8.0
ufoLib2==0.13.1
unicodedata2==14.0.0
UNKNOWN @ file:///root/nuflux-2.0.4
urllib3==2.0.5
urllib3==2.0.6
urwid==2.1.2
wcwidth==0.2.5
webencodings==0.5.1
Expand Down
3 changes: 2 additions & 1 deletion resources/launch_scripts/docker/launch_client.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ fi

# Run
docker run --network="host" $pull_policy --rm -i \
--shm-size=6gb \
--ipc="host" \
--shm-size=32gb \
$DOCKERMOUNT_ARGS \
--env PY_COLORS=1 \
$(env | grep '^SKYSCAN_' | awk '$0="--env "$0') \
Expand Down
9 changes: 7 additions & 2 deletions resources/launch_scripts/local-scan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,13 @@ fi


# Launch Clients
clients_per_cpu=${_CLIENTS_PER_CPU:-"1"}
nclients=$(( $clients_per_cpu * $(nproc) ))
nclients=${_NCLIENTS:-"1"}
echo "Launching $nclients clients"
export EWMS_PILOT_TASK_TIMEOUT=1800 # 30 mins
for i in $( seq 1 $nclients ); do
if [[ $i == "2" ]]; then
sleep 60 # sleep past race condition
fi
./docker/launch_client.sh \
--client-startup-json ./startup.json \
--debug-directory $SKYSCAN_DEBUG_DIR \
Expand All @@ -61,6 +63,9 @@ for i in $( seq 1 $nclients ); do
done


free -c 6 -s 10 # dump memory stats for 1 min


# Wait for Everyone
wait -n # for server
for i in $( seq 1 $nclients ); do
Expand Down
5 changes: 5 additions & 0 deletions skymap_scanner/client/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Init."""

import logging

LOGGER = logging.getLogger("skyscan.client")
3 changes: 2 additions & 1 deletion skymap_scanner/client/__main__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Entry-point to start up client service."""

from . import client
from . import LOGGER, client

if __name__ == "__main__":
client.main()
LOGGER.info("Done.")
55 changes: 31 additions & 24 deletions skymap_scanner/client/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,20 @@
import argparse
import asyncio
import json
import logging
import os
from pathlib import Path

import ewms_pilot
from wipac_dev_tools import argparse_tools, logging_tools

from .. import config as cfg

LOGGER = logging.getLogger("skyscan.client")
from . import LOGGER


def main() -> None:
"""Start up Client service."""
LOGGER.critical(f'/dev/shm: {os.listdir("/dev/shm")}')

parser = argparse.ArgumentParser(
description=(
"Start up client daemon to perform reco scans on pixels "
Expand Down Expand Up @@ -74,31 +75,37 @@ def main() -> None:
" --out-pkl {{OUTFILE}}" # ^^^
" --gcdqp-packet-json GCDQp_packet.json"
f" --baseline-gcd-file {startup_json_dict['baseline_GCD_file']}"
f" --reco-algo {startup_json_dict['reco_algo']}"
)

init_cmd = (
"python -m skymap_scanner.client.prepare "
f" --reco-algo {startup_json_dict['reco_algo']}"
)

# go!
LOGGER.info(
f"Starting up a Skymap Scanner client for event: {startup_json_dict['mq_basename']=}"
)
asyncio.run(
ewms_pilot.consume_and_reply(
cmd=cmd,
broker_client=cfg.ENV.SKYSCAN_BROKER_CLIENT,
broker_address=cfg.ENV.SKYSCAN_BROKER_ADDRESS,
auth_token=cfg.ENV.SKYSCAN_BROKER_AUTH,
queue_incoming=f"to-clients-{startup_json_dict['mq_basename']}",
queue_outgoing=f"from-clients-{startup_json_dict['mq_basename']}",
ftype_to_subproc=".pkl",
ftype_from_subproc=".pkl",
timeout_incoming=cfg.ENV.SKYSCAN_MQ_TIMEOUT_TO_CLIENTS,
timeout_outgoing=cfg.ENV.SKYSCAN_MQ_TIMEOUT_FROM_CLIENTS,
timeout_wait_for_first_message=cfg.ENV.SKYSCAN_MQ_CLIENT_TIMEOUT_WAIT_FOR_FIRST_MESSAGE,
debug_dir=args.debug_directory,
task_timeout=cfg.ENV.EWMS_PILOT_TASK_TIMEOUT,
try:
asyncio.run(
ewms_pilot.consume_and_reply(
cmd=cmd,
init_cmd=init_cmd,
broker_client=cfg.ENV.SKYSCAN_BROKER_CLIENT,
broker_address=cfg.ENV.SKYSCAN_BROKER_ADDRESS,
auth_token=cfg.ENV.SKYSCAN_BROKER_AUTH,
queue_incoming=f"to-clients-{startup_json_dict['mq_basename']}",
queue_outgoing=f"from-clients-{startup_json_dict['mq_basename']}",
ftype_to_subproc=".pkl",
ftype_from_subproc=".pkl",
timeout_incoming=cfg.ENV.SKYSCAN_MQ_TIMEOUT_TO_CLIENTS,
timeout_outgoing=cfg.ENV.SKYSCAN_MQ_TIMEOUT_FROM_CLIENTS,
timeout_wait_for_first_message=cfg.ENV.SKYSCAN_MQ_CLIENT_TIMEOUT_WAIT_FOR_FIRST_MESSAGE,
debug_dir=args.debug_directory,
task_timeout=cfg.ENV.EWMS_PILOT_TASK_TIMEOUT,
)
)
)
LOGGER.info("Done.")


if __name__ == "__main__":
main()
except:
LOGGER.critical(f'/dev/shm: {os.listdir("/dev/shm")}')
raise
51 changes: 51 additions & 0 deletions skymap_scanner/client/prepare.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
"""Setup common resources for future IceTray instances of a specified
reconstruction."""


import argparse
import logging
import os

from wipac_dev_tools import logging_tools

from .. import config as cfg
from .. import recos

LOGGER = logging.getLogger("skyscan.client.prepare")


def main() -> None:
"""Reco a single pixel."""
parser = argparse.ArgumentParser(
description="Setup common resources for future IceTray instances of a specified reconstruction.",
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)

# "physics" args
parser.add_argument(
"--reco-algo",
required=True,
choices=recos.get_all_reco_algos(),
help="The reconstruction algorithm prepare for",
)

args = parser.parse_args()
logging_tools.set_level(
cfg.ENV.SKYSCAN_LOG, # type: ignore[arg-type]
first_party_loggers="skyscan",
third_party_level=cfg.ENV.SKYSCAN_LOG_THIRD_PARTY, # type: ignore[arg-type]
use_coloredlogs=True,
)
logging_tools.log_argparse_args(args, logger=LOGGER, level="WARNING")

# go!
RecoAlgo = recos.get_reco_interface_object(args.reco_algo)
reco = RecoAlgo()
reco.setup_reco(LOGGER)

LOGGER.critical(f'/dev/shm: {os.listdir("/dev/shm")}')


if __name__ == "__main__":
main()
LOGGER.info("Done.")
Loading
Loading