{"id":22496984,"url":"https://github.com/morebec/orkestra-postgresql-timeout-storage","last_synced_at":"2026-05-04T03:34:36.190Z","repository":{"id":49499574,"uuid":"359993972","full_name":"Morebec/orkestra-postgresql-timeout-storage","owner":"Morebec","description":"[READ ONLY] PostgreSQL Timeout Storage for Orkestra","archived":false,"fork":false,"pushed_at":"2023-03-31T18:46:55.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"2.x","last_synced_at":"2025-02-01T23:45:11.724Z","etag":null,"topics":["orkestra","php","postgresql","scheduler","timeout"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Morebec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2021-04-21T01:08:57.000Z","updated_at":"2022-07-25T15:52:00.000Z","dependencies_parsed_at":"2024-12-06T20:15:19.570Z","dependency_job_id":"47fefa00-192c-4386-b4ba-22149d051c47","html_url":"https://github.com/Morebec/orkestra-postgresql-timeout-storage","commit_stats":{"total_commits":53,"total_committers":2,"mean_commits":26.5,"dds":"0.018867924528301883","last_synced_commit":"34d9e831f83b758c9b98bc4a8a0924dc443f9d17"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morebec%2Forkestra-postgresql-timeout-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morebec%2Forkestra-postgresql-timeout-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morebec%2Forkestra-postgresql-timeout-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morebec%2Forkestra-postgresql-timeout-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Morebec","download_url":"https://codeload.github.com/Morebec/orkestra-postgresql-timeout-storage/tar.gz/refs/heads/2.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245925711,"owners_count":20694947,"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","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":["orkestra","php","postgresql","scheduler","timeout"],"created_at":"2024-12-06T20:15:09.928Z","updated_at":"2026-05-04T03:34:36.158Z","avatar_url":"https://github.com/Morebec.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PostgreSQL Timeout Storage\nThis component is an implementation of a TimeoutStorage from the [Messaging Component]()\nusing PostgreSQL.\n\n## Installation\n\n```shell\ncomposer require orkestra-orkestra-postgresql-timeout-storage\n```\n\n## Usage\n\n```php\n\nuse Morebec\\Orkestra\\PostgreSqlTimeoutStorage\\PostgreSqlTimeoutStorage;\nuse Morebec\\Orkestra\\PostgreSqlTimeoutStorage\\PostgreSqlTimeoutStorageConfiguration;\n\n$connection = new DriverManaer([\n    'url' =\u003e '...'\n], new Configuration());\n\n$configuration = new PostgreSqlTimeoutStorageConfiguration();\n$storage = new PostgreSqlTimeoutStorage($connection, $configuration);\n```\n\n### Configuration\nThe `PostgreSqlTimeoutStorageConfiguration` class is used to configure the behavior of the timeout storage.\nYou can for example change the polling interval according to the needs of the application developed.\n\n\u003e Usually PostgreSQL is capable of handling polling efficiently, but of course, it always adds\n\u003e a little more work on it. It is advised to set up the `pollingInterval` to the minimum frequency at which new Timeouts\n\u003e are added in your application.\n\n## Testing\nTo run the tests execute the following command:\n```shell\nvendor/bin/phpunit tests/\n```\n\nIt is required to have an instance of postgresql running with a password-less role `postgres` and a database named `postgres`.\nTo easily get this setup and running a `docker-compose` configuration file is available at the root of this project.\n\nTo run it simply execute the following command:\n\n```shell\ndocker-compose up -d\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorebec%2Forkestra-postgresql-timeout-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorebec%2Forkestra-postgresql-timeout-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorebec%2Forkestra-postgresql-timeout-storage/lists"}