Skip to main content

Async Eureka client

Project description

https://img.shields.io/travis/wickedasp/eureka/master.svg?style=flat-square https://img.shields.io/pypi/l/wasp-eureka.svg?style=flat-square https://img.shields.io/pypi/v/wasp-eureka.svg?style=flat-square https://img.shields.io/pypi/status/wasp-eureka.svg?style=flat-square https://img.shields.io/pypi/pyversions/wasp-eureka.svg?style=flat-square

WASP Eureka

Asynchronous Naive Eureka client for the Netflix OSS/Spring Cloud bundled eureka stack.

Installation

Note: this supports Python 3.5+

$ pip install wasp-eureka

If you want to just run it standalone, include those dependencies:

$ pip install wasp-eureka[standalone]

Usage

The surface area of this module is pretty small, effectively you just need to care about the wasp_eureka.EurekaClient class and its methods:

import asyncio

from wasp_eureka import EurekaClient

# no spaces or underscores, this needs to be url-friendly
app_name = 'test-app'

port = 8080
# This needs to be an IP accessible by anyone that
# may want to discover, connect and/or use your service.
ip = '127.0.0.1'
my_eureka_url = 'https://service-discovery.mycompany.com/eureka'
loop = asyncio.get_event_loop()

eureka = EurekaClient(app_name, port, ip, eureka_url=my_eureka_url,
                      loop=loop)

async def main():
    # Presuming you want your service to be available via eureka
    result = await eureka.register()
    assert result, 'Unable to register'

    # You need to provide a heartbeat to renew the lease,
    # otherwise the eureka server will expel the service.
    # The default is 90s, so any time <90s is ok
    while True:
        await asyncio.sleep(67)
        await eureka.renew()

loop.run_until_complete(main(loop=loop))

Creating a Release

Bumpversion provides a simplified way to manage versioning, to check the dry run before running it:

$ bumpversion [patch,minor,major] --dry-run --verbose
$ bumpversion patch

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wasp-eureka-1.1.1.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

wasp_eureka-1.1.1-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file wasp-eureka-1.1.1.tar.gz.

File metadata

File hashes

Hashes for wasp-eureka-1.1.1.tar.gz
Algorithm Hash digest
SHA256 93f9afe536858a876e83e1a769b36730c8246e3bc28c26224ff21a2cef0acfda
MD5 507241b81e687c5a645ba206667f6646
BLAKE2b-256 93b921710e72e93970b83d15c7d78a668d453d3e47e25b9f6aee0b87ed0c41bc

See more details on using hashes here.

File details

Details for the file wasp_eureka-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for wasp_eureka-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b572365feb6a5065ffb07b03a2427c0afdcf2d0dcd3ed1fd708c8b88e11682c8
MD5 254d4070d712fc62b68bd44375255086
BLAKE2b-256 f4801ea078334d4cb65e6203b63a5d6f74c924ab651295a177466a71e1a71b3c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page