KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
sftp-go
★ 23
Open GitHub ↗
No description available.
Download README (.md)
Explore Similar Repositories
branch_db
:
Automatic per-branch PostgreSQL databases for Rails development
video-background-remover-cli
:
Remove background from video using RMBG-1.4 - Output as animated WebP or GIF
skillful-agent-system-builder
:
Skillful Agent System Builder helps you create custom AI agent teams without writing complex prompts from scratch.
pi-lab
:
Pi extensions from your friends at Continua
Java-Practice
:
Daily Java Course Practice
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
sftp-go
?
Download (.md)
# SFTP Pipeline A high-performance Go library for parallel SFTP file transfers with concurrent reading and processing capabilities. ## Features - **Parallel SFTP Reads**: Configurable number of concurrent SFTP connections for reading files - **Concurrent Processing**: Process downloaded files with multiple worker goroutines - **Buffered Pipeline**: Configurable buffer size between read and processing stages - **Error Handling**: Tracks failed transfers separately from successful ones - **Performance Metrics**: Reports transfer time and success/failure statistics ## Installation ```bash go get github.com/MYK12397/sftp-pipeline ``` ## Usage ### Basic Examples ```go // Write to local disk TransferFiles(sftpClient, jobs, func(r FileResult) error{ return os.WriteFile("/data/"+r.ID, r.Data, 0644) }) //upload to cloud storage TransferFiles(sftpClient, jobs, func(r FileResult) error{ return cloudClient.Upload(r.ID, r.Data) }) TransferFiles(sftpClient, jobs, func(r FileResult) error{ text := extractText(r.Data) return cloudClient.Upload(r.ID, r.Data) }) ``` ## Configuration The `PipelineCfg` struct controls the pipeline behavior: - **SFTPRreaders**: Number of goroutines reading from SFTP (default: 80) - **Workers**: Number of goroutines processing files (default: 10) - **BufferSize**: Channel buffer size (default: 10)