{"id":20533540,"url":"https://github.com/zoonru/requeue","last_synced_at":"2025-09-25T14:31:24.195Z","repository":{"id":57091885,"uuid":"224688445","full_name":"zoonru/requeue","owner":"zoonru","description":null,"archived":true,"fork":false,"pushed_at":"2023-09-15T09:03:56.000Z","size":23,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-12-17T09:15:04.696Z","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":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zoonru.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}},"created_at":"2019-11-28T16:06:31.000Z","updated_at":"2024-03-13T12:38:00.000Z","dependencies_parsed_at":"2024-11-16T00:32:58.712Z","dependency_job_id":null,"html_url":"https://github.com/zoonru/requeue","commit_stats":{"total_commits":1,"total_committers":1,"mean_commits":1.0,"dds":0.0,"last_synced_commit":"9aff4fe0707952d31012526c696565b3a607cad1"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoonru%2Frequeue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoonru%2Frequeue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoonru%2Frequeue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoonru%2Frequeue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zoonru","download_url":"https://codeload.github.com/zoonru/requeue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234205166,"owners_count":18796057,"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":[],"created_at":"2024-11-16T00:22:07.995Z","updated_at":"2025-09-25T14:31:23.874Z","avatar_url":"https://github.com/zoonru.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ReQueue\n\nRedis delayed message queue without locks.\n\n# Quick start\n\n## Install\n\n```bash\ncomposer require zoon/requeue\n```\nNote: Requires Redis \u003e= 2.2.0\n\n## Example\n\n**Initialize**\n```php\n$redis = new \\Redis();\nif (!$redis-\u003econnect('127.0.0.1')) {\n    exit('no connection');\n}\n$queue = createQueue($redis);\n\nfunction createQueue(\\Redis $connection): \\Zoon\\ReQueue\\Queue {\n\t$redisAdapter = new \\Zoon\\ReQueue\\RedisAdapter($connection);\n\treturn new \\Zoon\\ReQueue\\Queue($redisAdapter);\n}\n```\n**Push**\n```php\n$queue-\u003epush(new \\Zoon\\ReQueue\\Message('id', time() + 3600, 'data'));\n```\n**Update**\n```php\n$queue-\u003eupdate('id', function (?\\Zoon\\ReQueue\\Message $old) {\n\t$time = ($old === null ? time() + 3600 : $old-\u003egetTimestamp() + 600);\n\t$data = ($old === null ? 'data' : $old-\u003egetData() . '+new');\n\treturn new \\Zoon\\ReQueue\\MessageData($time, $data);\n});\n```\n**Count**\n```php\nprintf(\"count: %d\\n\", $queue-\u003ecount());\n```\n```php\n// count: 1\n```\n**Pop**\n```php\n$timestampRange = new \\Zoon\\ReQueue\\TimestampRange(null, time() + 3600 + 600);\n$message = $queue-\u003epop($timestampRange);\nif ($message !== null) {\n\tprintf(\"id: %s\\n\", $message-\u003egetId());\n\tprintf(\"timestamp: %d\\n\", $message-\u003egetTimestamp());\n\tprintf(\"data: %s\\n\", $message-\u003egetData());\n}\n```\n```php\n// id: id\n// timestamp: 1575040030\n// data: data+new\n```\n**Clear**\n```php\n$queue-\u003eclear();\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoonru%2Frequeue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzoonru%2Frequeue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoonru%2Frequeue/lists"}