Skip to content

Port the generic STATUS_MESSAGE event with terminal flag and level from Crawlee v4 #2337

Open

Description

@vdusek

Crawlers emit Event.CRAWLER_STATUS with only message and crawler_id (_basic_crawler.py, _types.py). The final message of a run is never marked as terminal, so integrations such as the Apify SDK can forward periodic progress but can't set the crawler's final summary as the run's terminal status.

Crawlee v4 for JS moved status messages to the event system in apify/crawlee#3818. BasicCrawler.setStatusMessage() logs the message and emits a generic EventType.STATUS_MESSAGE with crawlerId, message, isStatusMessageTerminal and level, and on finish the crawler emits Finished! Total N requests: X succeeded, Y failed. as a terminal message (basic-crawler.ts, event-manager.ts). The JS SDK forwards both periodic and terminal messages to the run.

Acceptance criteria

  • Event.CRAWLER_STATUS is replaced by a generic Event.STATUS_MESSAGE whose data has crawler_id, message, is_status_message_terminal and level.
  • The crawler emits its periodic status messages through it, and a terminal summary message when the run finishes.
  • The change is listed in the v2 upgrading guide.

✍️ Drafted by Claude Code

Activity

  1. added this to the 2.0 milestone on Oct 16, 2026
  2. added
    enhancementNew feature or request.
    t-toolingIssues with this label are in the ownership of the tooling team.
    on Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request.t-toolingIssues with this label are in the ownership of the tooling team.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions