{"id":29898583,"url":"https://github.com/fusonic/php-sentry-cron","last_synced_at":"2026-02-07T22:30:55.715Z","repository":{"id":305069866,"uuid":"1019333176","full_name":"fusonic/php-sentry-cron","owner":"fusonic","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-04T08:47:00.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-26T16:48:24.702Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fusonic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-14T07:03:12.000Z","updated_at":"2025-12-04T12:24:36.000Z","dependencies_parsed_at":"2025-07-18T06:54:54.661Z","dependency_job_id":"4edb3ec2-7fd4-4d56-8d7d-1592456d1958","html_url":"https://github.com/fusonic/php-sentry-cron","commit_stats":null,"previous_names":["fusonic/php-sentry-cron"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/fusonic/php-sentry-cron","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusonic%2Fphp-sentry-cron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusonic%2Fphp-sentry-cron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusonic%2Fphp-sentry-cron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusonic%2Fphp-sentry-cron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fusonic","download_url":"https://codeload.github.com/fusonic/php-sentry-cron/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fusonic%2Fphp-sentry-cron/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29211127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T22:22:11.602Z","status":"ssl_error","status_checked_at":"2026-02-07T22:22:10.684Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-01T11:40:34.925Z","updated_at":"2026-02-07T22:30:55.708Z","avatar_url":"https://github.com/fusonic.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sentry-cron\n\n[![License](https://img.shields.io/packagist/l/fusonic/sentry-cron?color=blue)](https://github.com/fusonic/php-sentry-cron/blob/master/LICENSE)\n[![Latest Version](https://img.shields.io/github/tag/fusonic/php-sentry-cron.svg?color=blue)](https://github.com/fusonic/php-sentry-cron/releases)\n[![Total Downloads](https://img.shields.io/packagist/dt/fusonic/sentry-cron.svg?color=blue)](https://packagist.org/packages/fusonic/sentry-cron)\n[![php 8.2+](https://img.shields.io/badge/php-min%208.2-blue.svg)](https://github.com/fusonic/php-sentry-cron/blob/master/composer.json)\n\n* [About](#about)\n* [Install](#install)\n* [Usage](#usage)\n\n## About\n\nAutomatically register scheduled events from Symfony Scheduler in Sentry Cron. Only cron expressions are supported.\n\n## Install\n\nUse composer to install the library from packagist.\n\n```bash\ncomposer require fusonic/sentry-cron\n```\n\n## Configuration\n\n```yaml\nFusonic\\SentryCron\\SentrySchedulerEventSubscriber:\n    arguments:\n        $enabled: true\n```\n\n## Usage\nAny regular event that is triggered with a cron expression can be used.\n\n### Event Configuration\n\nBy default, the Sentry defaults are used for monitor configurations. Per event, you can configure\nan attribute to use your own configuration:\n\n```php\n\nuse Fusonic\\SentryCron\\SentryMonitorConfig;\n\n#[SentryMonitorConfig(checkinMargin: 30, maxRuntime: 30, failureIssueThreshold: 5, recoveryThreshold: 5)]\nclass SomeEvent {\n    // ...\n}\n```\n\n### Async Events\n\nIf you have an unpredictable longer-running scheduled task, you can manually check in by implementing `AsyncCheckInScheduleEventInterface`.\n\nThe scheduled event:\n\n```php\n\nuse Fusonic\\SentryCron\\SentryMonitorConfig;\nuse Fusonic\\SentryCron\\AsyncCheckInScheduleEventInterface;\nuse \\Fusonic\\SentryCron\\AsyncCheckInScheduleEventTrait;\n\nclass SomeEvent implements AsyncCheckInScheduleEventInterface {\n    use AsyncCheckInScheduleEventTrait;\n    \n    // ...\n}\n```\n\nThe manual check in:\n\n```php\n\nclass SomeEventHandler {\n    private const BATCH_SIZE = 100;\n    \n    public function __invoke(SomeEvent $event): void {\n        $offset = 0;\n        \n        // e.g.: some slow database processing\n        $entitiesToProcess = // ...\n        \n        $nextEvent = new SomeEvent(offset: $offset + self::BATCH_SIZE);\n        \n        if (count($entitiesToProcess) === 0) {\n            $nextEvent-\u003emarkAsLast();\n        }\n        \n        $this-\u003eeventBus-\u003edispatch($nextEvent);\n    }\n\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffusonic%2Fphp-sentry-cron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffusonic%2Fphp-sentry-cron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffusonic%2Fphp-sentry-cron/lists"}