Natalia Kliewer

65 papers C 1Misc 1Journal 34Unranked 27
YearRankTypeTitle / Venue / Authors
2024 J jnl
Oper. Res. Forum
Lucas Mertens, Bastian Amberg, Natalia Kliewer
2024 conf
ECIS
Daniel Juan Sivizaca Conde, Nicki Lena Kämpf, David Rößler-von Saß, Tim Schurig, Natalia Kliewer
2024 J jnl
Public Transp.
Liping Ge, Natalia Kliewer, Abtin Nourmohammadzadeh, Stefan Voß, Lin Xie
2023 conf
HICSS
Daniel Sivizaca Conde, Natalia Kliewer, David Rößler, Lars Stegemann
2022 conf
OR
Lucas Mertens, Bastian Amberg, Natalia Kliewer
2022 J jnl
Central Eur. J. Oper. Res.
Nils Olsen, Natalia Kliewer, Lena Wolbeck
2022 J jnl
HMD Prax. Wirtsch.
Jan Zedel, Natalia Kliewer
2021 J jnl
Eur. J. Oper. Res.
Julian Reisch, Peter Großmann, Daniel Pöhle, Natalia Kliewer
2021 J jnl
EURO J. Transp. Logist.
Miriam Stumpe, David Rößler, Guido Schryen, Natalia Kliewer
2020 conf
Wirtschaftsinformatik (Zentrale Tracks)
Clemens Wickboldt, Christoph Meise, Natalia Kliewer
2020 J jnl
Eur. J. Oper. Res.
Lena Wolbeck, Natalia Kliewer, Inês Marques
2020 J jnl
Bus. Inf. Syst. Eng.
Guido Schryen, Natalia Kliewer, Andreas Fink
2020 J jnl
Bus. Inf. Syst. Eng.
Daniel Fürstenau, Catherine Cleophas, Natalia Kliewer
2020 J jnl
Bus. Inf. Syst. Eng.
Guido Schryen, Natalia Kliewer, Andreas Fink
2020 J jnl
Logist. Res.
Nils Olsen, Natalia Kliewer
2020 Misc conf
KI
Julian Reisch, Peter Großmann, Natalia Kliewer
2019 J jnl
Inf. Syst. Res.
Daniel Fürstenau, Abayomi Baiyere, Natalia Kliewer
2019 J jnl
HMD Prax. Wirtsch.
Florian Hauck, Sandro Morgenstern, Natalia Kliewer
2019 conf
OR
Julian Reisch, Natalia Kliewer
2019 conf
ECIS
Clemens Wickboldt, Natalia Kliewer
2019 conf
OR
Florian Hauck, Natalia Kliewer
2019 conf
Wirtschaftsinformatik
Lena Wolbeck, Bastian Amberg, Natalia Kliewer
2019 conf
Wirtschaftsinformatik
David Rößler, Julian Reisch, Natalia Kliewer
2019 J jnl
Transp. Sci.
Bastian Amberg, Boris Amberg, Natalia Kliewer
2018 conf
OR
Florian Hauck, Natalia Kliewer
2018 J jnl
EURO J. Transp. Logist.
Philipp Bartke, Natalia Kliewer, Catherine Cleophas
2018 J jnl
HMD Prax. Wirtsch.
Clemens Wickboldt, Natalia Kliewer
2018 J jnl
Bus. Inf. Syst. Eng.
Guido Schryen, Natalia Kliewer, Andreas Fink
2018 conf
MKWI
Lucian Ionescu, Natalia Kliewer
2018 ed.
OR
Natalia Kliewer, Jan Fabian Ehmke, Ralf Borndörfer
2018 conf
MKWI
Clemens Wickboldt, Natalia Kliewer
2018 J jnl
Bus. Inf. Syst. Eng.
Wil M. P. van der Aalst, Jörg Becker, Martin Bichler, Hans Ulrich Buhl, Jens Dibbern, Ulrich Frank, Ulrich Hasenkamp, Armin Heinzl, Oliver Hinz, Kai Lung Hui, Matthias Jarke, Dimitris Karagiannis, Natalia Kliewer, Wolfgang König, Jan Mendling, Peter Mertens, Matti Rossi, Stefan Voß, Christof Weinhardt, Robert Winter, Jelena Zdravkovic
2017 J jnl
Bus. Inf. Syst. Eng.
Natalia Kliewer, Jan Fabian Ehmke, Dirk Christian Mattfeld
2017 J jnl
J. Heuristics
Lin Xie, Marius Merschformann, Natalia Kliewer, Leena Suhl
2016 J jnl
Bus. Inf. Syst. Eng.
Lucian Ionescu, Claus Gwiggner, Natalia Kliewer
2016 conf
OR
Nils Olsen, Natalia Kliewer
2016 conf
OR
Daniel Kadatz, Natalia Kliewer, Catherine Cleophas
2016 conf
MKWI
Jan Fabian Ehmke, Natalia Kliewer, Dirk Christian Mattfeld
2015 conf
Wirtschaftsinformatik
Daniel Fürstenau, Natalia Kliewer
2015 conf
OR
Maximilian Adam, Natalia Kliewer, Felix König
2015 conf
OR
Bastian Amberg, Lucian Ionescu, Natalia Kliewer
2014 J jnl
Bus. Inf. Syst. Eng.
Andreas Fink, Natalia Kliewer, Dirk C. Mattfeld, Lars Mönch, Franz Rothlauf, Guido Schryen, Leena Suhl, Stefan Voß
2014 J jnl
Wirtschaftsinf.
Andreas Fink, Natalia Kliewer, Dirk C. Mattfeld, Lars Mönch, Franz Rothlauf, Guido Schryen, Leena Suhl, Stefan Voß
2014 conf
ECIS
Daniel Fürstenau, Natalia Kliewer
2014 conf
MKWI
Jan Fabian Ehmke, Natalia Kliewer
2013 J jnl
Bus. Inf. Syst. Eng.
Max Gerlach, Catherine Cleophas, Natalia Kliewer
2013 J jnl
Wirtschaftsinf.
Max Gerlach, Catherine Cleophas, Natalia Kliewer
2012 conf
OR
Lucian Ionescu, Claus Gwiggner, Natalia Kliewer
2012 J jnl
Public Transp.
Natalia Kliewer, Bastian Amberg, Boris Amberg
2011 J jnl
Networks
Natalia Kliewer, Leena Suhl
2010 conf
OR
Lucian Ionescu, Natalia Kliewer, Torben Schramme
2010 J jnl
Transp. Sci.
Ingmar Steinzen, Vitali Gintner, Leena Suhl, Natalia Kliewer
2010 J jnl
OR Spectr.
Jörg Wiese, Leena Suhl, Natalia Kliewer
2009 J jnl
Public Transp.
Stefan Bunte, Natalia Kliewer
2009 J jnl
OR Spectr.
Ingmar Steinzen, Leena Suhl, Natalia Kliewer
2009 conf
Models and Algorithms for Optimization in Logistics
Leena Suhl, Viktor Dück, Natalia Kliewer
2009 J jnl
Int. J. Simul. Process. Model.
Jörg Wiese, Leena Suhl, Natalia Kliewer
2009 conf
Wirtschaftsinformatik (2)
Natalia Kliewer, Bastian Amberg, Boris Amberg
2007 C conf
ATMOS
Ingmar Steinzen, Leena Suhl, Natalia Kliewer
2007 conf
Wirtschaftsinformatik (2)
Leena Suhl, Natalia Kliewer, Ingmar Steinzen
2006 J jnl
Eur. J. Oper. Res.
Natalia Kliewer, Taïeb Mellouli, Leena Suhl
2006 conf
OR
Antonia Knübel, Natalia Kliewer
2005 conf
OR
Stefan Bunte, Natalia Kliewer, Leena Suhl
2005
Natalia Kliewer
2005 J jnl
OR Spectr.
Vitali Gintner, Natalia Kliewer, Leena Suhl
redb/utils/wrapper_run_sort_files.py
← Index redb/utils/wrapper_run_sort_files.py python
import os
import subprocess
import multiprocessing
import logging
from concurrent.futures import ThreadPoolExecutor
import signal

# Variables (replace these with actual values)
src_root_folder_path = "/mnt/samples/consilience/malware/vx-bazaar-expanded/"
dst_root_folder_path = "/mnt/samples/consilience/malware/_sorted_samples/vx-bazaar/"
log_folder_path = "/mnt/samples/consilience/malware/ops-logs/"
folder_names = ["Bazaar.2022.01", "Bazaar.2022.02", "Bazaar.2022.03", "Bazaar.2022.04"]  # List of folder names
script_name = "sort_files_by_type.py"
dry_run = True  # Set to True for testing without execution


# Ensure the log folder exists
os.makedirs(log_folder_path, exist_ok=True)

# Configure logging
main_log_name = "20241229-main_script.log"
main_log_file = os.path.join(log_folder_path, main_log_name)
if not os.path.exists(main_log_file):
    open(main_log_file, 'a').close()  # Create the log file if it doesn't exist
# main_log_file = os.path.join(log_folder_path, main_log_name)
# try:
#     with open(main_log_file, 'a') as f:
#         print(f"Successfully created/opened log file at: {main_log_file}")
#     # Verify the file exists
#     if os.path.exists(main_log_file):
#         print(f"Confirmed log file exists at: {main_log_file}")
#         print(f"File size: {os.path.getsize(main_log_file)} bytes")
# except Exception as e:
#     print(f"Error with log file: {e}")

# Configure logging
logging.basicConfig(
    filename=main_log_file,
    level=logging.INFO,
    format="%(asctime)s - %(levelname)s - %(message)s",
    force=True,
    filemode='a'
)

logging.info("Logging initialization test message")

# Add logging handler to flush immediately
class FlushableFileHandler(logging.FileHandler):
    def emit(self, record):
        super().emit(record)
        self.flush()

for handler in logging.getLogger().handlers:
    if isinstance(handler, logging.FileHandler):
        handler.flush()

# Global flag for graceful termination
terminate_flag = False

def signal_handler(signum, frame):
    global terminate_flag
    terminate_flag = True
    logging.warning("Termination signal received. Attempting to shut down gracefully.")

# Register signal handler
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)

# Define the worker function
def process_folder(folder):
    global terminate_flag
    if terminate_flag:
        logging.warning(f"Skipping folder {folder} due to termination signal.")
        return

    try:
        # Extract the word and date fields from the folder name
        word, year, month = folder.split('.')

        # Construct source, destination, and log paths
        src_folder = os.path.join(src_root_folder_path, folder)
        dst_folder = os.path.join(dst_root_folder_path, folder)
        log_file = os.path.join(
            log_folder_path, f"20241229-SORT_FILES-bazaar_{year}.{month}.output.log"
        )

        if not os.path.exists(log_file):
            open(log_file, 'a').close()  # Create the log file if it doesn't exist

        # Build the command
        command = ["python3", script_name, src_folder, dst_folder]

        if dry_run:
            logging.info(f"Dry run: Would execute: {command}, log: {log_file}")
            print(f"Dry run: Would execute: {command}, log: {log_file}")
        else:
            logging.info(f"Starting task for folder: {folder}")
            with open(log_file, "w") as log:
                subprocess.run(command, stdout=log, stderr=subprocess.STDOUT, check=True)
            logging.info(f"Task completed for folder: {folder}")

    except subprocess.CalledProcessError as e:
        logging.error(f"Subprocess failed for folder {folder} with return code {e.returncode}: {e}")
        print(f"Subprocess failed for folder {folder}: {e}")
    except Exception as e:
        logging.error(f"Error while processing folder {folder}: {e}")
        print(f"Error while processing folder {folder}: {e}")

# Determine the number of processors
num_processors = multiprocessing.cpu_count()

try:
    # Process folders using ThreadPoolExecutor
    with ThreadPoolExecutor(max_workers=num_processors-1) as executor:
        executor.map(process_folder, folder_names)

except Exception as e:
    logging.critical(f"Critical error in the main execution: {e}")
    print(f"Critical error: {e}")

logging.info("All tasks completed.")
print("All tasks completed.")