{"id":30830522,"url":"https://github.com/half2me/scheduler","last_synced_at":"2025-09-06T15:55:11.476Z","repository":{"id":56983689,"uuid":"75860303","full_name":"half2me/scheduler","owner":"half2me","description":"An advanced scheduler plugin for CakePHP","archived":false,"fork":false,"pushed_at":"2016-12-08T21:48:22.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-06T21:55:14.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/half2me.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-07T17:36:58.000Z","updated_at":"2016-12-07T17:43:49.000Z","dependencies_parsed_at":"2022-08-21T08:30:06.785Z","dependency_job_id":null,"html_url":"https://github.com/half2me/scheduler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/half2me/scheduler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/half2me%2Fscheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/half2me%2Fscheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/half2me%2Fscheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/half2me%2Fscheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/half2me","download_url":"https://codeload.github.com/half2me/scheduler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/half2me%2Fscheduler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273926545,"owners_count":25192318,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-09-06T15:55:05.938Z","updated_at":"2025-09-06T15:55:11.449Z","avatar_url":"https://github.com/half2me.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# An advanced scheduler plugin for CakePHP\n\n[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.txt)\n[![Total Downloads](https://img.shields.io/packagist/dt/halftome/scheduler.svg?style=flat-square)](https://packagist.org/packages/halftome/scheduler)\n[![Latest Stable Version](https://img.shields.io/packagist/v/halftome/scheduler.svg?style=flat-square\u0026label=stable)](https://packagist.org/packages/halftome/scheduler)\n\n## Installation\n\nYou can install this plugin into your CakePHP application using [composer](http://getcomposer.org).\n\nThe recommended way to install composer packages is:\n\n```\ncomposer halftome/scheduler\n```\nSetup the database with migrations:\n```\nbin/cake migrations migrate -p Scheduler\n```\n\n## Usage\nThe scheduler will only work if it is invoked, and will only be as precise as the interval it is invoked with.\nFor an example, here is an example cron job using 1min (the shortest allowed interval on cron) as the interval:\n```cron\n* * * * * cd /path/to/app \u0026\u0026 bin/cake Scheduler.Run\n```\n\nHere is an example configuration to run 2 tasks:\n```php\n// For example in your bootstrap.php\nConfigure::write('Scheduler.jobs', [\n    'Newsletters' =\u003e [\n        'interval' =\u003e '2 weeks',\n    ],\n    'CleanUp' =\u003e [\n        'interval' =\u003e '15 minutes', // every 15min\n        'command' =\u003e 'CleanUpDatabase clean',\n        'extra' =\u003e [\n            'foo' =\u003e 'bar',\n        ],\n        'timeout' =\u003e '15 minutes', // if task has not finished after 15min it will be aborted\n    ],\n    'QuotaCheck' =\u003e [\n        'interval' =\u003e '6 hours',\n    ],\n]);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalf2me%2Fscheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhalf2me%2Fscheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalf2me%2Fscheduler/lists"}