Experiment overview
| Setting | Value |
|---|
| Model for non-random steps | SAASBO |
| Max. nr. evaluations | 2 |
| Number random steps | 1 |
| Nr. of workers (parameter) | 1 |
| Main process memory (GB) | 8 |
| Worker memory (GB) | 4 |
Best RESULT1, min (total: 2)
| OO_Info_int_param | OO_Info_int_param… | OO_Info_float_par… | OO_Info_choice_par… | OO_Info_SLURM_JOB… | RESULT2 | int_param | float_param | int_param_two | choice_param | RESULT1 |
|---|
| -69 | -92 | -3.267230987548828 | hallo | 2119643 | 2.2292765385 | -69 | -3.267230987548828 | -92 | hallo | 1.2002464983 |
Job Summary per Generation Node
| Generation Node | Total | COMPLETED |
| SOBOL | 1 | 1 |
| SAASBO | 1 | 1 |
Experiment parameters
| Name | Type | Lower bound | Upper bound | Values | Type | Log Scale? |
|---|
| int_param | range | -100 | 10 | | int | No |
| float_param | range | -100 | 10 | | float | No |
| choice_param | choice | | | 1, 2, 4, 8, 16, hallo | | |
| int_param_two | range | -100 | 10 | | int | No |
Number of evaluations
| Failed |
Succeeded |
Running |
Total |
| 0 |
2 |
0 |
2 |
Result names and types
| name | min/max |
| RESULT1 |
min |
| RESULT2 |
min |
Last progressbar status
2025-12-29 13:49:57 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 2 done, waiting for 1 job, finished 1 job
Git-Version
Commit: 815910076e3b15c9f886789a2fc0797945e4f03f (9210)
trial_index,submit_time,queue_time,worker_generator_uuid,start_time,end_time,run_time,program_string,exit_code,signal,hostname,OO_Info_int_param,OO_Info_int_param_two,OO_Info_float_param,OO_Info_choice_param,OO_Info_SLURM_JOB_ID,arm_name,trial_status,generation_node,RESULT1,RESULT2,int_param,float_param,int_param_two,choice_param
0,1767012514,13,f484cd3e-12a7-4ceb-bf5b-28d9a1991f29,1767012527,1767012533,6,./.tests/optimization_example --int_param='-69' --float_param='-3.267230987548828125' --choice_param='hallo' --int_param_two='-92' --nr_results=2,0,,c154,-69,-92,-3.267230987548828125,hallo,2119643,0_0,COMPLETED,SOBOL,1.200246498300000075332150117902,2.229276538500000182096982825897,-69,-3.267230987548828125,-92,hallo
1,1767012573,13,f484cd3e-12a7-4ceb-bf5b-28d9a1991f29,1767012587,1767012593,6,./.tests/optimization_example --int_param='10' --float_param='-100' --choice_param='1' --int_param_two='10' --nr_results=2,0,,c114,10,10,-100,1,2119645,1_0,COMPLETED,SAASBO,1.510820868498740088270437809115,2.994318541462659855056926971884,10,-100,10,1
========================================================================
To cancel, press CTRL c, then run 'scancel 2119641'
⠋ Importing logging...
⠋ Importing warnings...
⠋ Importing argparse...
⠋ Importing datetime...
⠋ Importing dataclass...
⠋ Importing socket...
⠋ Importing stat...
⠋ Importing pwd...
⠋ Importing base64...
⠋ Importing json...
⠋ Importing yaml...
⠋ Importing toml...
⠋ Importing csv...
⠋ Importing ast...
⠋ Importing rich.table...
⠋ Importing rich print...
⠋ Importing rich.pretty...
⠋ Importing pformat...
⠋ Importing rich.prompt...
⠋ Importing types.FunctionType...
⠋ Importing typing...
⠋ Importing ThreadPoolExecutor...
⠋ Importing submitit.LocalExecutor...
⠋ Importing submitit.Job...
⠋ Importing importlib.util...
⠋ Importing platform...
⠋ Importing inspect frame info...
⠋ Importing pathlib.Path...
⠋ Importing uuid...
⠋ Importing cowsay...
⠋ Importing shutil...
⠋ Importing itertools.combinations...
⠋ Importing os.listdir...
⠋ Importing os.path...
⠋ Importing PIL.Image...
⠋ Importing sixel...
⠋ Importing subprocess...
⠋ Importing tqdm...
⠋ Importing beartype...
[WARNING 12-29 13:48:26] ax.service.utils.with_db_settings_base: Ax currently requires a sqlalchemy version below 2.0. This will be addressed in a future release. Disabling SQL storage in Ax for now, if you would like to use SQL storage please install Ax with mysql extras via `pip install ax-platform[mysql]`.
⠇ Importing rendering stuff...
⠋ Importing statistics...
⠋ Trying to import pyfiglet...
⠙ Importing helpers...
⠋ Importing pareto...
⠋ Parsing arguments...
⠋ Importing torch...
⠋ Importing numpy...
⠋ Importing ax...
⠋ Importing ax.core.generator_run...
⠋ Importing Cont_X_trans and Y_trans from ax.adapter.registry...
⠋ Importing ax.core.arm...
⠋ Importing ax.core.objective...
⠋ Importing ax.core.Metric...
⠋ Importing ax.exceptions.core...
⠋ Importing ax.exceptions.generation_strategy...
⠋ Importing CORE_DECODER_REGISTRY...
⠋ Trying ax.generation_strategy.generation_node...
⠋ Importing GenerationStep, GenerationStrategy from generation_strategy...
⠋ Importing GenerationNode from generation_node...
⠋ Importing ExternalGenerationNode...
⠋ Importing MinTrials...
⠋ Importing GeneratorSpec...
⠋ Importing Generators from ax.generation_strategy.registry...
⠋ Importing get_pending_observation_features...
⠋ Importing load_experiment...
⠋ Importing save_experiment...
⠋ Importing save_experiment_to_db...
⠋ Importing TrialStatus...
⠋ Importing Data...
⠋ Importing Experiment...
⠋ Importing parameter types...
⠋ Importing TParameterization...
⠋ Importing pandas...
⠋ Importing AxClient and ObjectiveProperties...
⠋ Importing RandomForestRegressor...
⠋ Importing botorch...
⠋ Importing submitit...
⠋ Importing ax logger...
⠋ Importing SQL-Storage-Stuff...
Run-UUID: 5fbadf4f-d54c-4627-92d5-00a23d7d66d0
______ .___ ___. .__ __. __ ______ .______ .___________.___
/ __ \ | \/ | | \ | | | | / __ \ | _ \ | |__ \
| | | | | \ / | | \| | | | | | | | | |_) | `---| |----` ) |
| | | | | |\/| | | . ` | | | | | | | | ___/ | | / /
| `--' | | | | | | |\ | | | | `--' | | | | | / /_
\______/ |__| |__| |__| \__| |__| \______/ | _| |__| |____|
⠋ Writing worker creation log...
omniopt --live_share --send_anonymized_usage_stats --partition alpha --experiment_name=multi_results_2_results_SAASBO --mem_gb=4 --time=60 --worker_timeout=5 --max_eval 2 --num_parallel_jobs 1 --gpus=1 --run_program Li8udGVzdHMvb3B0aW1pemF0aW9uX2V4YW1wbGUgLS1pbnRfcGFyYW09JyUoaW50X3BhcmFtKScgLS1mbG9hdF9wYXJhbT0nJShmbG9hdF9wYXJhbSknIC0tY2hvaWNlX3BhcmFtPSclKGNob2ljZV9wYXJhbSknICAtLWludF9wYXJhbV90d289JyUoaW50X3BhcmFtX3R3byknIC0tbnJfcmVzdWx0cz0yCg== --parameter int_param range -100 10 int --parameter float_param range -100 10 float --parameter choice_param choice 1,2,4,8,16,hallo --parameter int_param_two range -100 10 int --follow --num_random_steps 1 --model BOTORCH_MODULAR --auto_exclude_defective_hosts --result_names RESULT1=min RESULT2=min --model=SAASBO --generate_all_jobs_at_once
⠋ Disabling logging...
⠋ Setting run folder...
⠋ Creating folder /home/h8/s3811141/test/randomtest_93382/OmniOpt/runs/multi_results_2_results_SAASBO/0...
⠋ Writing revert_to_random_when_seemingly_exhausted file ...
⠋ Writing username state file...
⠋ Writing result names file...
⠋ Writing result min/max file...
⠋ Saving state files...
Run-folder: /home/h8/s3811141/test/randomtest_93382/OmniOpt/runs/multi_results_2_results_SAASBO/0
⠋ Writing live_share file if it is present...
⠋ Writing job_start_time file...
⠼ Writing git information
⠋ Checking max_eval...
⠋ Calculating number of steps...
⠋ Adding excluded nodes...
⠋ Initializing ax_client...
⠋ Setting orchestrator...
See https://imageseg.scads.de/omniax/share?user_id=s3811141&experiment_name=multi_results_2_results_SAASBO&run_nr=10 for live-results.
You have 1 CPUs available for the main process. Using CUDA device NVIDIA H100.
Generation strategy: SOBOL for 1 step and then SAASBO for 1 step.
Run-Program: ./.tests/optimization_example --int_param='%(int_param)' --float_param='%(float_param)' --choice_param='%(choice_param)' --int_param_two='%(int_param_two)' --nr_results=2
Experiment parameters
┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━┓
┃ Name ┃ Type ┃ Lower bound ┃ Upper bound ┃ Values ┃ Type ┃ Log Scale? ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━┩
│ int_param │ range │ -100 │ 10 │ │ int │ No │
│ float_param │ range │ -100 │ 10 │ │ float │ No │
│ choice_param │ choice │ │ │ 1, 2, 4, 8, 16, hallo │ │ │
│ int_param_two │ range │ -100 │ 10 │ │ int │ No │
└───────────────┴────────┴─────────────┴─────────────┴───────────────────────┴───────┴────────────┘
Result-Names
┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Result-Name ┃ Min or max? ┃
┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ RESULT1 │ min │
│ RESULT2 │ min │
└─────────────┴─────────────┘
⠋ Write files and show overview
SAASBO, 2 done, waiting for 1 job, finished 1 job : 100%|██████████| 2/2 [01:24<00:00, 42.08s/it]
Pareto-Front for RESULT1/RESULT2:
┏━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ trial_index ┃ int_param ┃ float_param ┃ int_param_two ┃ choice_param ┃ RESULT1 ┃ RESULT2 ┃
┡━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ 0 │ -69 │ -3.267230987548828 │ -92 │ hallo │ 1.2002464983 │ 2.2292765385 │
└─────────────┴───────────┴────────────────────┴───────────────┴──────────────┴──────────────┴──────────────┘
Runtime Infos
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Number of evaluations ┃ Min time ┃ Max time ┃ Average time ┃ Median time ┃
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ 2 │ 6.00 sec │ 6.00 sec │ 6.00 sec │ 6.00 sec │
└───────────────────────┴───────────┴───────────┴──────────────┴─────────────┘
2025-12-29 13:48:33 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, Started OmniOpt2 run...
2025-12-29 13:48:34 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, getting new HP set
2025-12-29 13:48:34 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, requested 1 jobs, got 1, 0.27 s/job
2025-12-29 13:48:34 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, eval #1/1 start
2025-12-29 13:48:34 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, starting new job
2025-12-29 13:48:34 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, unknown 1 = ∑1/1, started new job
2025-12-29 13:48:35 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, unknown 1 = ∑1/1, waiting for 1 job
2025-12-29 13:48:44 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, running 1 = ∑1/1, waiting for 1 job
2025-12-29 13:48:54 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, running 1 = ∑1/1, new result: RESULT1: 1.200246, RESULT2: 2.229277
2025-12-29 13:48:56 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SOBOL, 1 done, waiting for 1 job, finished 1 job
2025-12-29 13:49:33 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 1 done, getting new HP set
2025-12-29 13:49:33 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 1 done, requested 1 jobs, got 1, 36.76 s/job
2025-12-29 13:49:33 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 1 done, eval #1/1 start
2025-12-29 13:49:33 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 1 done, starting new job
2025-12-29 13:49:34 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 1 done, unknown 1 = ∑1/1, started new job
2025-12-29 13:49:35 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 1 done, unknown 1 = ∑1/1, waiting for 1 job
2025-12-29 13:49:36 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 1 done, pending 1 = ∑1/1, waiting for 1 job
2025-12-29 13:49:44 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 1 done, running 1 = ∑1/1, waiting for 1 job
2025-12-29 13:49:54 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 1 done, running 1 = ∑1/1, new result: RESULT1: 1.510821, RESULT2: 2.994319
2025-12-29 13:49:57 (f484cd3e-12a7-4ceb-bf5b-28d9a1991f29): SAASBO, 2 done, waiting for 1 job, finished 1 job
Job submission durations
┏━━━━━━━━━┳━━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━┓
┃ Batch ┃ Seconds ┃ Jobs ┃ Time per job ┃
┡━━━━━━━━━╇━━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━┩
│ 1 │ 0.476 │ 1 │ 0.476 │
│ 2 │ 0.384 │ 1 │ 0.384 │
├─────────┼─────────┼──────┼──────────────┤
│ Average │ 0.430 │ │ │
│ Median │ 0.430 │ │ │
│ Total │ 0.860 │ │ │
│ Max │ 0.476 │ │ │
│ Min │ 0.384 │ │ │
└─────────┴─────────┴──────┴──────────────┘
Model generation times
┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━┓
┃ Iteration ┃ Seconds ┃ Jobs ┃ Time per job ┃
┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━┩
│ 1 │ 0.267 │ 1 │ 0.267 │
│ 2 │ 36.765 │ 1 │ 36.765 │
├───────────┼─────────┼──────┼──────────────┤
│ Average │ 18.516 │ │ │
│ Median │ 18.516 │ │ │
│ Total │ 37.032 │ │ │
│ Max │ 36.765 │ │ │
│ Min │ 0.267 │ │ │
└───────────┴─────────┴──────┴──────────────┘
Arguments Overview
| Key | Value |
|---|
| config_yaml | None |
| config_toml | None |
| config_json | None |
| num_random_steps | 1 |
| max_eval | 2 |
| run_program | [['Li8udGVzdHMvb3B0aW1pemF0aW9uX2V4YW1wbGUgLS1pbnRfcGFyYW09JyUoaW50X3BhcmFtKScgLS1mbG9hdF9wYXJhbT0nJShmbG9hdF9wYXJhbSknIC0tY2hvaWNlX3BhcmFtPSclKGNob2lj… |
| experiment_name | multi_results_2_results_SAASBO |
| mem_gb | 4 |
| parameter | [['int_param', 'range', '-100', '10', 'int'], ['float_param', 'range', '-100', '10', 'float'], ['choice_param', 'choice', '1,2,4,8,16,hallo'], |
| ['int_param_two', 'range', '-100', '10', 'int']] |
| continue_previous_job | None |
| experiment_constraints | None |
| run_dir | runs |
| seed | None |
| verbose_tqdm | False |
| model | SAASBO |
| gridsearch | False |
| occ | False |
| show_sixel_scatter | False |
| show_sixel_general | False |
| show_sixel_trial_index_result | False |
| follow | True |
| send_anonymized_usage_stats | True |
| ui_url | None |
| root_venv_dir | /home/s3811141 |
| exclude | None |
| main_process_gb | 8 |
| max_nr_of_zero_results | 10 |
| abbreviate_job_names | False |
| orchestrator_file | None |
| checkout_to_latest_tested_version | False |
| live_share | True |
| disable_tqdm | False |
| disable_previous_job_constraint | False |
| workdir | |
| occ_type | euclid |
| result_names | ['RESULT1=min', 'RESULT2=min'] |
| minkowski_p | 2 |
| signed_weighted_euclidean_weights | |
| generation_strategy | None |
| generate_all_jobs_at_once | True |
| revert_to_random_when_seemingly_exhausted | False |
| load_data_from_existing_jobs | [] |
| n_estimators_randomforest | 100 |
| max_attempts_for_generation | 20 |
| external_generator | None |
| username | None |
| max_failed_jobs | None |
| num_cpus_main_job | None |
| calculate_pareto_front_of_job | [] |
| show_generate_time_table | False |
| force_choice_for_ranges | False |
| max_abandoned_retrial | 20 |
| share_password | None |
| dryrun | False |
| db_url | None |
| run_program_once | None |
| worker_generator_path | None |
| save_to_database | False |
| range_max_difference | 1000000 |
| skip_search | False |
| dont_warm_start_refitting | False |
| refit_on_cv | False |
| fit_out_of_design | False |
| fit_abandoned | False |
| dont_jit_compile | False |
| num_restarts | 20 |
| raw_samples | 1024 |
| max_num_of_parallel_sruns | 16 |
| no_transform_inputs | False |
| no_normalize_y | False |
| transforms | [] |
| number_of_generators | 1 |
| num_parallel_jobs | 1 |
| worker_timeout | 5 |
| slurm_use_srun | False |
| time | 60 |
| partition | alpha |
| reservation | None |
| force_local_execution | False |
| slurm_signal_delay_s | 0 |
| nodes_per_job | 1 |
| cpus_per_task | 1 |
| account | None |
| gpus | 1 |
| dependency | None |
| run_mode | local |
| verbose | False |
| verbose_break_run_search_table | False |
| debug | False |
| flame_graph | False |
| memray | False |
| no_sleep | False |
| tests | False |
| show_worker_percentage_table_at_end | False |
| auto_exclude_defective_hosts | True |
| run_tests_that_fail_on_taurus | False |
| raise_in_eval | False |
| show_ram_every_n_seconds | 0 |
| show_generation_and_submission_sixel | False |
| just_return_defaults | False |
| prettyprint | False |
| runtime_debug | False |
| debug_stack_regex | |
| debug_stack_trace_regex | None |
| show_func_name | False |
| beartype | False |
1767012510.2693,1,0,0
1767012514.5752,1,0,0
1767012514.791,1,1,100
1767012536.6729,1,1,100
1767012573.3858,1,0,0
1767012573.9358,1,0,0
1767012574.1241,1,1,100
1767012597.6681,1,1,100
1767012602.5057,1,0,0
1767012604.1999,1,0,0
This logs the CPU and RAM usage of the main worker process.
timestamp,ram_usage_mb,cpu_usage_percent
1767012510,818.41015625,15.5
1767012573,879.69140625,15.7
Parameter statistics
| Parameter | Min | Max | Mean | Std Dev | Count |
|---|
| run_time | 6 | 6 | 6 | 0 | 2 |
| OO_Info_int_param | -69 | 10 | -29.5 | 39.5 | 2 |
| OO_Info_int_param_two | -92 | 10 | -41 | 51 | 2 |
| OO_Info_float_param | -100 | -3.2672 | -51.6336 | 48.3664 | 2 |
| OO_Info_choice_param | No numerical statistics available |
| RESULT1 | 1.2002 | 1.5108 | 1.3555 | 0.1553 | 2 |
| RESULT2 | 2.2293 | 2.9943 | 2.6118 | 0.3825 | 2 |
| int_param | -69 | 10 | -29.5 | 39.5 | 2 |
| float_param | -100 | -3.2672 | -51.6336 | 48.3664 | 2 |
| int_param_two | -92 | 10 | -41 | 51 | 2 |
| choice_param | No numerical statistics available |
Show SLURM-Job-ID (if it exists)
submitit INFO (2025-12-29 13:48:43,763) - Starting with JobEnvironment(job_id=2119643, hostname=c154, local_rank=0(1), node=0(1), global_rank=0(1))
submitit INFO (2025-12-29 13:48:43,763) - Loading pickle: /home/h8/s3811141/test/randomtest_93382/OmniOpt/runs/multi_results_2_results_SAASBO/0/single_runs/2119643/2119643_submitted.pkl
Trial-Index: 0
Parameters: {"int_param": -69, "float_param": -3.267230987548828, "int_param_two": -92, "choice_param": "hallo"}
Debug-Infos:
========
DEBUG INFOS START:
Program-Code: ./.tests/optimization_example --int_param='-69' --float_param='-3.267230987548828125' --choice_param='hallo' --int_param_two='-92' --nr_results=2
pwd: /home/h8/s3811141/test/randomtest_93382/OmniOpt
File: ./.tests/optimization_example
UID: 2105408
GID: 200270
SLURM_JOB_ID: 2119643
Status-Change-Time: 1751868744.0086284
Size: 5714 Bytes
Permissions: -rwxr-xr-x
Owner: s3811141
Last access: 1767008130.8996058
Last modification: 1751868744.0086284
Hostname: c154
========
DEBUG INFOS END
./.tests/optimization_example --int_param='-69' --float_param='-3.267230987548828125' --choice_param='hallo' --int_param_two='-92' --nr_results=2
stdout:
OO-Info: int_param: -69
OO-Info: int_param_two: -92
OO-Info: float_param: -3.267230987548828125
OO-Info: choice_param: hallo
RESULT1: 1.2002464982952
RESULT2: 2.22927653845133
stderr was empty
Result: {'RESULT1': 1.2002464982952, 'RESULT2': 2.22927653845133}
Final-results: {'RESULT1': 1.2002464982952, 'RESULT2': 2.22927653845133}
EXIT_CODE: 0
submitit INFO (2025-12-29 13:48:54,003) - Job completed successfully
submitit INFO (2025-12-29 13:48:54,005) - Exiting after successful completion