{"id":15703841,"url":"https://github.com/kigsmtua/milau","last_synced_at":"2025-05-12T16:27:45.247Z","repository":{"id":57733833,"uuid":"142129720","full_name":"kigsmtua/milau","owner":"kigsmtua","description":"A  distributed java task queue backed by redis","archived":false,"fork":false,"pushed_at":"2020-07-05T19:46:51.000Z","size":234,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-01T00:29:29.112Z","etag":null,"topics":["actors","channels","distributed","fibers","java","job-queue","queue","redis"],"latest_commit_sha":null,"homepage":"","language":"Java","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/kigsmtua.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-24T08:36:36.000Z","updated_at":"2023-12-15T09:57:41.000Z","dependencies_parsed_at":"2022-08-24T11:20:26.046Z","dependency_job_id":null,"html_url":"https://github.com/kigsmtua/milau","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kigsmtua%2Fmilau","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kigsmtua%2Fmilau/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kigsmtua%2Fmilau/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kigsmtua%2Fmilau/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kigsmtua","download_url":"https://codeload.github.com/kigsmtua/milau/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253775719,"owners_count":21962403,"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":["actors","channels","distributed","fibers","java","job-queue","queue","redis"],"created_at":"2024-10-03T20:07:00.854Z","updated_at":"2025-05-12T16:27:45.150Z","avatar_url":"https://github.com/kigsmtua.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Milau\n[![Build Status](https://travis-ci.org/kigsmtua/milau.svg?branch=master)](https://travis-ci.org/kigsmtua/milau) [![License MIT](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/kigsmtua/milau/blob/master/LICENSE) [![Maintainability](https://api.codeclimate.com/v1/badges/c092be6110abdbb2857d/maintainability)](https://codeclimate.com/github/kigsmtua/milau/maintainability) [![codecov](https://codecov.io/gh/kigsmtua/milau/branch/master/graph/badge.svg)](https://codecov.io/gh/kigsmtua/milau)\n\n\n\u003e A distributed task queue supporting priorities and time based exection based on redis. Named after the famous milau bridge (yes architecture fascinates me)\n\u003e The worker only supports one queue and uses Traditional threads based on CPU count (Work is in progress to make it support multiple queues)\n\n**Features**\n\u003e 1. At least once delivery\n\u003e 2. Jobs are executed at only a specified time in future.\n\u003e 3. Each job has 3 queues associated with it\n\u003e 4. Redis is the only supported backend\n\n**Installation**\n\nMaven central\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.github.kigsmtua\u003c/groupId\u003e\n  \u003cartifactId\u003eMilau\u003c/artifactId\u003e\n  \u003cversion\u003e0.1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n**How To Use(Quickstart)**\n\n```java\n\n@Task(\n   queueName = \"my-task-queue\"\n)\nClass MyJob implements Runnable {\n\n   private String name;\n\n   public String getName() {\n     return this.name;\n   }\n   public void setName(String name) {\n     this.name = name;\n   }\n   public void run () {\n       try {\n            /// Sleep for some time to simulate execution\n            Thread.sleep(1);\n        } catch (InterruptedException e) {\n      }\n   }\n}\n\nConfig config = new Config.ConfigBuilder(\"127.0.0.1\", 6379).build();\n\nMap\u003cString , Object\u003e jopProperties = new HashMap\u003c\u003e();\njopProperties.put(\"name\", \"johnDoe\");\n\nClient client = new Client(config);\nclient.enqueue(null,  MyJob.class, jopProperties, 0);\n\nWorker worker = new Worker(config, queue);\nThread workerThread = new Thread(worker);\nworkerThread.start();\n\n```\n\n**Whats Remaining**\n\u003e 1. Worker to run for all/multiple queues\n\u003e 2. Record number of failures/keep stats\n\u003e 3. Ability to pause given queues\n\u003e 4. Use green threads to see if performance actually gets to improves\n\u003e 5. Finish up on the Ack module\n\u003e 6. Build recovery strategy for the worker module\n\n## Contributing\nPlease read [CONTRIBUTING.md](https://github.com/kigsmtua/milau/blob/master/CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](https://github.com/kigsmtua/milau/blob/master/CODE_OF_CONDUCT.md)\nContributions are very welcome(the more the merrier)\n\n## Versioning\nWe use [SemVer](https://semver.org/) for versioning. All releases are taggged please checkout a particular tag if testing as all code goes into master\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkigsmtua%2Fmilau","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkigsmtua%2Fmilau","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkigsmtua%2Fmilau/lists"}