This repo contains an exercise intended for Back-End Engineers.
- Fork this repo.
- Using technology of your choice, complete the assignment.
- Update this README with
- a
How-To
section containing any instructions needed to execute your program. - an
Assumptions
section containing documentation on any assumptions made while interpreting the requirements.
- a
- Before the deadline, submit a pull request with your solution.
- Please take no more than 8 hours to work on this exercise. Complete as much as possible and then submit your solution.
- This exercise is meant to showcase how you work. With consideration to the time limit, do your best to treat it like a production system.
This project requires Python 3. To run the script:
mkdir input
cp sample-data/valid.csv input
python src/main.py
CTRL-C to kill the process
To see a full list of command line arguments:
python src/main.py --help
.
- Non-csv input files should not cause errors and should not be deleted.
- A file should not be processed more than once. But after it has been removed from the input folder, another file by the same name can be processed.
- Need to be able to efficiently process a large number of files, which may contain a large number or records.
- Need to be able to easily configure processing details (polling time, max thread count, etc).
- Need to be able to run the program with and without log output.
- This script will be run in a POSIX environment with Python 3 installed.