Skip to content

Latest commit

 

History

History
29 lines (18 loc) · 1.12 KB

Parallel-File-Uploader.md

File metadata and controls

29 lines (18 loc) · 1.12 KB

Multi-threaded file uploader (Backend)

Ideal candidate: skilled python developer with solid knowledge of cloud and distributed systems.

Overview

Create a python application that uploads a set of given files to a cloud object storage in parallel through the cloud provider's or third party API.

Requirements

  1. Support up to 100,000nds of files, all inside one directory with arbitrary sizes. The root directory may contain subdirectories.
  2. The object storage container which holds the objects is private and only credential-based access is allowed.
  3. Each object inside object storage should have an associated metadata which contains file size, last modification time and file permissions.

Expectations

  • Fast (utilize full network bandwidth), low CPU (do not block all other processes) and low Memory (<25% tentatively) file uploader
  • Support for AWS S3
  • Modular and Object oriented implementation (to add other cloud providers)
  • Clean and documented code
  • Tests

Timeline

We leave exact timing to the candidate. Must fit Within 5 days total.

Notes

  • we can provide temporary credentials to access AWS/Azure.