Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Data Watcher Bundle

Data Watcher Bundle Laravel Package

benjamin-rqt/data-watcher-bundle

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Data Watcher Bundle
Can I use this bundle in Laravel instead of Symfony?
No, this bundle is designed for Symfony 6.3+ and relies on Symfony components like Messenger, Mailer, and Scheduler. Laravel would require significant customization or adapters to replicate these features, such as replacing Messenger with Laravel Queues and Scheduler with Laravel Task Scheduling.
What types of database anomalies can this bundle detect?
The bundle focuses on data integrity issues like unexpected spikes/drops in record counts, missing records, or custom conditions defined via SQL queries. It’s ideal for monitoring tables where data consistency is critical, such as user transactions, financial logs, or inventory records.
How do I set up a custom anomaly check for my specific business logic?
Extend the `AbstractSqlCheck` class or implement `WatcherInterface` to define custom logic. Override methods like `getName()`, `getDescription()`, and `getSchedule()` to configure the check’s timing and behavior. Use SQL queries or Doctrine DQL to define your anomaly conditions.
Does this bundle support real-time monitoring, or is it only for scheduled checks?
This bundle is designed for scheduled checks using Symfony’s Scheduler (or cron for older versions). For real-time monitoring, you’d need to integrate it with Symfony’s Messenger component to process events as they occur, but frequent checks could impact performance.
What happens if the email notifications fail to send?
The bundle uses Symfony’s Mailer component, so failures depend on your mail transport configuration (e.g., SMTP, API-based). Failed emails won’t trigger retries by default, but you can extend the bundle or configure Messenger retry logic in `messenger.yaml` to handle transient failures.
Is there a way to send alerts to platforms like Slack or PagerDuty instead of email?
Currently, the bundle only supports email notifications via Symfony’s Mailer. To add Slack or PagerDuty, you’d need to extend the bundle’s notification system or create a custom watcher that sends alerts via HTTP APIs or webhooks.
How do I handle large datasets or performance issues with frequent checks?
Optimize your SQL queries to avoid full table scans, and limit the frequency of checks via the `getSchedule()` method. Use Doctrine’s caching or database indexes to speed up anomaly detection. For high-volume apps, consider batching checks or running them during off-peak hours.
What Laravel alternatives exist for database anomaly detection?
For Laravel, consider packages like `spatie/laravel-monitoring` for general monitoring or `laravel-notifiable` for custom alerts. For database-specific checks, you could build a custom solution using Laravel’s Task Scheduling and Queues, or use `spatie/laravel-schedule` for cron-like triggers.
How do I migrate from a custom anomaly detection script to this bundle?
Start by replacing your script’s logic with a custom watcher class. Configure the bundle’s Messenger and Scheduler components to handle execution. Gradually migrate email notifications to use Symfony’s Mailer, and ensure your existing checks align with the bundle’s SQL-based or DQL-based query format.
What Symfony version is required, and how do I use it with Symfony 6.2 or earlier?
This bundle requires Symfony 6.3+ due to its dependency on the Scheduler component. For Symfony 6.2 or earlier, you’d need to manually set up cron jobs using `dragonmantank/cron-expression` and configure Messenger to process checks asynchronously, but this adds complexity.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codraw/graphviz
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata