game-jams:fetch-details
Fetches additional details for game jams from itch.io, including participant information, submission counts, and results.
Overview
This command enriches game jam data by fetching comprehensive details from itch.io. By default, it processes game jams marked as needing details fetch, but can be configured to process specific jams or all jams.
Default behavior: Processes game jams with needs_details_fetch=true.
Usage
php artisan game-jams:fetch-details [options]
Options
- --all
- Fetch details for all game jams, not just those marked as needing details.
- --id=ID
- ID of the specific game jam to process.
- --name=NAME
- Name (or part of name) of the game jam(s) to process.
- --url=URL
- URL of the specific game jam to process.
- --limit=LIMIT
- Limit the number of game jams to process (default: 10).
- --results
- Force fetching of results pages even for ongoing jams.
- --max-retries=COUNT
- Maximum number of retries for rate-limited requests (default: 3).
- --retry-cooldown=SECONDS
- Base cooldown time in seconds between retries (default: 30).
Data Fetched
The command retrieves comprehensive game jam information:
- Basic Information: Title, description, dates, theme
- Participation Data: Number of participants and submissions
- Rules and Guidelines: Jam rules, submission requirements
- Results: Rankings and winners (when available)
- Associated Games: Games submitted to the jam
- Creator Information: Jam organizers and participants
Examples
php artisan game-jams:fetch-details
Processes up to 10 game jams marked as needing details fetch.
php artisan game-jams:fetch-details --id=12345
Fetches details for a specific game jam by ID.
php artisan game-jams:fetch-details --name="Ludum Dare"
Processes all game jams with "Ludum Dare" in the name.
php artisan game-jams:fetch-details --all --limit=50
Processes up to 50 game jams regardless of their needs_details_fetch status.
php artisan game-jams:fetch-details --id=12345 --results
Fetches results even for ongoing jams (may return empty results).
When to Use
Recommended Usage Scenarios
- After discovering new game jams through feed processing
- When game jam information appears incomplete
- To update results after jam completion
- For comprehensive data collection on specific jams
- During initial database population
Processing Modes
| Mode | Description | Use Case |
| Default | Jams needing details | Regular maintenance |
| Specific ID | Single jam by ID | Targeted updates |
| By Name | Jams matching name pattern | Series or themed jams |
| All Jams | Every jam in database | Full refresh or migration |
Rate Limiting
The command includes sophisticated rate limiting handling:
- Automatic Retries: Configurable retry count for 429 responses
- Exponential Backoff: Increasing cooldown between retries
- Batch Processing: Respects API limits with configurable batch sizes
- Progress Tracking: Continues from where it left off after rate limits
Related Commands
- games:refresh: Refresh games associated with jams
- feed:process: Discover new game jams