Skip to content

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

  1. After discovering new game jams through feed processing
  2. When game jam information appears incomplete
  3. To update results after jam completion
  4. For comprehensive data collection on specific jams
  5. 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