πMulti-Account GitHub Upload Setup Guide
π Overview
This guide helps you set up 4 GitHub accounts to distribute your bulk upload load and eliminate rate limiting issues. Each account gets 5,000 API requests per hour, giving you 20,000 total requests per hour instead of just 5,000.
π― Why Multi-Account Upload?
Your Current Issue:
Single account: 5,000 requests/hour limit
96,715 files: Would take 19+ hours with rate limiting
70% failure rate: Due to hitting rate limits constantly
Multi-Account Solution:
4 accounts: 20,000 requests/hour total
Load balancing: Intelligent distribution across accounts
Automatic failover: Switches accounts when rate limited
Expected result: >95% success rate with 4x faster uploads
π Account Setup Requirements
Account Access Requirements
Each GitHub account needs:
Repository access to
usemanusai/JAEGISWrite permissions (push access)
Valid personal access token with
reposcope
Option 1: Collaborator Accounts (Recommended)
Add your other accounts as collaborators:
Go to:
https://github.com/usemanusai/JAEGIS/settings/accessClick "Add people"
Add your other GitHub usernames
Grant "Write" permission
Option 2: Organization Accounts
If accounts are in an organization:
Add accounts to the organization
Grant repository access through teams
Ensure "Write" permissions
π Token Generation
For each of your 4 accounts:
Login to GitHub account
Go to Settings β Developer settings β Personal access tokens β Tokens (classic)
Generate new token with these scopes:
β
repo(Full control of private repositories)β
workflow(Update GitHub Action workflows)
Copy the token (you won't see it again!)
Store securely for environment setup
βοΈ Environment Configuration
Set Environment Variables
Windows PowerShell Setup
Create .env File (Alternative)
π Installation
1. Install Dependencies
2. Test Account Setup
π Execution
Basic Multi-Account Upload
Conservative Settings (Recommended First Run)
Aggressive Settings (After Testing)
π Real-Time Dashboard
The script provides a live dashboard showing:
π― Expected Performance Improvements
Before (Single Account)
Rate Limit: 5,000 requests/hour
Success Rate: ~30% (your current issue)
Upload Speed: ~1.4 files/second
Total Time: 19+ hours with failures
After (Multi-Account)
Rate Limit: 20,000 requests/hour (4x improvement)
Success Rate: >95% (3x improvement)
Upload Speed: ~8 files/second (6x improvement)
Total Time: ~3-4 hours (5x faster)
π Intelligent Features
Load Balancing
Account scoring: Based on rate limits, success rate, response time
Automatic switching: When accounts hit rate limits
Fair distribution: Spreads load evenly across accounts
Error Handling
Account failover: Switches to healthy accounts
Rate limit detection: Monitors GitHub API headers
Retry logic: Intelligent retry with different accounts
Monitoring
Real-time dashboard: Live progress and account status
Performance metrics: Upload speed, success rates, response times
Load distribution: Shows which account uploaded which files
π¨ Troubleshooting
"No GitHub tokens found" Error
"Authentication failed" Error
Verify token has
reposcopeCheck token hasn't expired
Ensure account has repository access
"Repository access issue" Error
Add account as collaborator to repository
Grant "Write" permissions
Check repository exists and is accessible
Still Getting Rate Limited
Reduce
MAX_CONCURRENT_PER_ACCOUNTto 2Increase
BATCH_SIZEto 25Check if all 4 accounts are active
π Ready to Upload!
With 4 accounts properly configured, you should see:
π 4x faster uploads (20,000 requests/hour vs 5,000)
β >95% success rate (vs your current 30%)
π Automatic load balancing across accounts
π Real-time monitoring of all accounts
π‘οΈ Intelligent failover when issues occur
Your 96,715 files should upload in ~3-4 hours instead of 19+ hours with much higher success rate!
π Need Help?
If you encounter issues:
Run with dry run first:
DRY_RUN=true python multi_account_bulk_upload.pyCheck the logs: Look for authentication and permission errors
Verify account access: Test each token manually
Start conservative: Use lower concurrency settings initially
Last updated