Skip to content

Add a debug log to show what event is starting#127

Merged
swissspidy merged 10 commits intowp-cli:mainfrom
dsmith4-godaddy:dsmith4/verbose_pre_cron
Feb 13, 2026
Merged

Add a debug log to show what event is starting#127
swissspidy merged 10 commits intowp-cli:mainfrom
dsmith4-godaddy:dsmith4/verbose_pre_cron

Conversation

@dsmith4-godaddy
Copy link
Contributor

@dsmith4-godaddy dsmith4-godaddy commented Feb 12, 2026

The idea here is to show what event just started, to help identify long-running events (with bad code we sometimes have crons running for literally hours and it can be tricky to identify the exact event causing the problem). Presently the event being triggered is only shown at the end of execution.

Added a simple Behat test as well.

Standard disclaimers: I'm not a seasoned PHP or wp-cli dev, also this probably needs to be squash-merged.

The idea here is to show what event just started, to help identify long-running events (with bad code we sometimes have crons running for literally hours and it can be tricky to identify the exact event causing the problem).
@github-actions
Copy link

Hello! 👋

Thanks for opening this pull request! Please check out our contributing guidelines. We appreciate you taking the initiative to contribute to this project.

Contributing isn't limited to just code. We encourage you to contribute in the way that best fits your abilities, by writing tutorials, giving a demo at your local meetup, helping other users with their support questions, or revising our documentation.

Here are some useful Composer commands to get you started:

  • composer install: Install dependencies.
  • composer test: Run the full test suite.
  • composer phpcs: Check for code style violations.
  • composer phpcbf: Automatically fix code style violations.
  • composer phpunit: Run unit tests.
  • composer behat: Run behavior-driven tests.

To run a single Behat test, you can use the following command:

# Run all tests in a single file
composer behat features/some-feature.feature

# Run only a specific scenario (where 123 is the line number of the "Scenario:" title)
composer behat features/some-feature.feature:123

You can find a list of all available Behat steps in our handbook.

@codecov
Copy link

codecov bot commented Feb 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@gemini-code-assist
Copy link

Summary of Changes

Hello @dsmith4-godaddy, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request adds a --verbose flag to the cron event run command. When used, this flag will cause the command to output a message to the log right before the execution of each cron event, which will help in debugging long-running cron events.

Highlights

  • New Feature: Verbose Flag: Introduces a --verbose flag to the cron event run command, providing more detailed output during cron event execution.
  • Enhanced Debugging: The verbose flag helps in identifying long-running cron events by logging the start of each event, aiding in debugging and performance analysis.
Changelog
  • src/Cron_Event_Command.php
    • Added the --verbose flag to the cron event run command.
    • Implemented logging of event start when the --verbose flag is used.
Activity
  • Author dsmith4-godaddy added a verbose flag to the cron event command.
  • The flag is intended to help identify long-running events.
  • The author is planning to add a behat test for the new flag.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a useful --verbose flag to help debug long-running cron events. The implementation is straightforward. My main feedback is about coding style, specifically the use of spaces instead of tabs for indentation, which is inconsistent with the project's style. I've added a few review comments with suggestions to fix the indentation.

Regarding the flag name, while --verbose is a common choice, you might consider a more descriptive name like --log-start since it specifically logs the start of an event. This is just a suggestion, and --verbose is also acceptable.

Finally, as you mentioned in the description, adding a Behat test for this new flag would be a great addition to ensure its functionality is covered. A simple scenario checking for the "Beginning execution..." message in the output would be sufficient.

I need to probably actually create and schedule an event explicitly?
@dsmith4-godaddy dsmith4-godaddy marked this pull request as ready for review February 12, 2026 15:58
@dsmith4-godaddy dsmith4-godaddy requested a review from a team as a code owner February 12, 2026 15:58
@dsmith4-godaddy dsmith4-godaddy changed the title first go at adding a verbose flag Add a cron event run --verbose flag to show what event is starting Feb 12, 2026
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a --verbose flag to the wp cron event run command, which logs a message before a cron event starts executing, a useful feature for debugging long-running events. However, a medium-severity Log Injection vulnerability was identified in the new logging statement, where the cron hook name is logged without sanitization. This could allow an attacker with permissions to schedule cron events to manipulate the terminal output for administrators, potentially hiding malicious activity. Additionally, a suggestion has been made to improve the accompanying Behat test for robustness and determinism.

@dsmith4-godaddy
Copy link
Contributor Author

Resolved @swissspidy 's comment because they had a much better way to implement. The one failing code quality check, I don't think that's even related to my change. LMK if you have any further questions/concerns/etc

@swissspidy
Copy link
Member

Thank you!

It's indeed unrelated, and addressed in #126.

@swissspidy swissspidy changed the title Add a cron event run --verbose flag to show what event is starting Add a debug log to show what event is starting Feb 12, 2026
@swissspidy swissspidy added this to the 2.3.4 milestone Feb 13, 2026
@swissspidy swissspidy merged commit 954e515 into wp-cli:main Feb 13, 2026
53 checks passed
@dsmith4-godaddy dsmith4-godaddy deleted the dsmith4/verbose_pre_cron branch February 13, 2026 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants