Add a debug log to show what event is starting#127
Conversation
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).
|
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:
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:123You can find a list of all available Behat steps in our handbook. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Summary of ChangesHello @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 Highlights
Changelog
Activity
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
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?
cron event run --verbose flag to show what event is starting
There was a problem hiding this comment.
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.
|
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 |
|
Thank you! It's indeed unrelated, and addressed in #126. |
cron event run --verbose flag to show what event is starting
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.