{"id":36417055,"url":"https://github.com/juforg/celery-spring-boot-starter","last_synced_at":"2026-01-11T17:00:12.470Z","repository":{"id":57743812,"uuid":"400452756","full_name":"juforg/celery-spring-boot-starter","owner":"juforg","description":"Springboot starter for celery using celery-java, which is Java implementation of Celery client and worker. ","archived":false,"fork":false,"pushed_at":"2024-06-26T01:53:45.000Z","size":33,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-24T23:46:20.609Z","etag":null,"topics":["asynctask","celery","celery-java","java","java-python","springboot-starter"],"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/juforg.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":"2021-08-27T09:11:40.000Z","updated_at":"2025-01-16T09:48:22.000Z","dependencies_parsed_at":"2024-06-26T02:52:03.902Z","dependency_job_id":null,"html_url":"https://github.com/juforg/celery-spring-boot-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/juforg/celery-spring-boot-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juforg%2Fcelery-spring-boot-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juforg%2Fcelery-spring-boot-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juforg%2Fcelery-spring-boot-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juforg%2Fcelery-spring-boot-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juforg","download_url":"https://codeload.github.com/juforg/celery-spring-boot-starter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juforg%2Fcelery-spring-boot-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28314253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T14:58:17.114Z","status":"ssl_error","status_checked_at":"2026-01-11T14:55:53.580Z","response_time":60,"last_error":"SSL_read: 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":["asynctask","celery","celery-java","java","java-python","springboot-starter"],"created_at":"2026-01-11T17:00:11.372Z","updated_at":"2026-01-11T17:00:12.404Z","avatar_url":"https://github.com/juforg.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# celery-spring-boot-starter\n\nSpringboot starter for celery using celery-java,\nwhich is Java implementation of [Celery](https://docs.celeryproject.org/en/v5.1.2/) client and worker. Quoting from the project website:\n\n\u003e Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.\n\n\u003e  The execution units, called tasks, are executed concurrently on a single or more worker servers using multiprocessing, Eventlet, or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).\n\n\u003e  Celery is used in production systems to process millions of tasks a day.\n\nFor more info, [celery-java](https://github.com/juforg/celery-java)\n\nThe aim is to be compatible with existing [Python Celery implementation][celery]. That means you should be able\nto run a Java client with a Python worker or vice-versa. Tested with Python Celery 5.1.\n\n\n## Maven dependency\n\nReleases are available from Maven Central. Latest version: [![Maven\nCentral](https://maven-badges.herokuapp.com/maven-central/vip.appcity/celery-spring-boot-starter/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22vip.appcity%22%20AND%20a%3A%celery-spring-boot-starter%22)\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003evip.appcity\u003c/groupId\u003e\n    \u003cartifactId\u003ecelery-spring-boot-starter\u003c/artifactId\u003e\n    \u003cversion\u003e...\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nSnapshots are available from [Sonatype OSRH](https://s01.oss.sonatype.org//content/groups/public):\n\n```xml\n\u003crepository\u003e\n    \u003cid\u003esonatype\u003c/id\u003e\n    \u003curl\u003ehttps://oss.sonatype.org/content/groups/public\u003c/url\u003e\n    \u003csnapshots\u003e\n        \u003cenabled\u003etrue\u003c/enabled\u003e\n        \u003cupdatePolicy\u003ealways\u003c/updatePolicy\u003e\n    \u003c/snapshots\u003e\n\u003c/repository\u003e\n```\n\n\n## init config in application.yml\n```yaml\ncelery:\n  queue: \"demo:celery\"\n  broker: amqp://guest:guest@localhost:5672/vhost\n#  backend:\n```\n\n## Calling Python task from Java\n\n1. Start a celery worker as described in [First Steps with Celery][celery-py-start].\n2. define a worker task with python\n    ```Python\n    @celery.task(name='test.dummy_task')\n    def dummy_task(num):\n        print(num)\n        return \"finished\"\n    ```\n3. Call the task by name in java\n    ```java\n    \n        @Resource\n        private Celery celery;\n        celery.submit(\"test.dummy_task\", new Object[]{1});\n    ```\n## enable multi queue\n1. init config in application.yml\n```yaml\ncelery:\n  enabled: true\n  enableMultiQueue: true\n  queue: \"demo:celery\"\n  broker: amqp://guest:guest@localhost:5672/vhost\n#  backend:\n  taskQueueMaps:\n     \"test.dummy_task\": \"celery\"\n     \"test.dummy_task2\": \"celery\"\n     \"test.dummy_task3\": \"celery1\"\n     \"test.dummy_task4\": \"celery2\"\n```\n3. Call the task by name in java\n    ```java\n    \n        @Resource\n        private CeleryTaskDistributor celeryTaskDistributor;\n        celeryTaskDistributor.submit(\"test.dummy_task\", new Object[]{1});\n    ```\n\n## Relase notes\n\n\n* 1.0 - Initial release. enable to call  Python task from Java without result.\n* 1.1 - add support for multi queue \n\n[celery-py-start]: http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html\n[celery]: http://www.celeryproject.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuforg%2Fcelery-spring-boot-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuforg%2Fcelery-spring-boot-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuforg%2Fcelery-spring-boot-starter/lists"}