Skip to content

Repository files navigation

aioworker

A Python worker running over asyncio

Build Statuspython versionLicensecodecov

Requirements

python 3.8+

Installation

pip install aioworker

Usage

importasynciofromaioworkerimportService, Workerasyncdeftask_1(loop):
whileTrue:
print('Hello world')
awaitasyncio.sleep(2)
if__name__=='__main__':
# Run the server using 1 worker processes.Worker(tasks=[task_1]).run(workers=1)

or run tasks and the webserver

importasynciofromaioworkerimportService, Workerasyncdefsleeping(loop):
whileTrue:
print('Sleeping for 2 seconds...')
awaitasyncio.sleep(2)
asyncdefon_client_connect(reader, writer):
""" Read up tp 300 bytes of TCP. This could be parsed usign the HTTP protocol for example """data=awaitreader.read(300)
print(f'TCP Server data received: {data}\n')
writer.write(data)
awaitwriter.drain()
writer.close()
if__name__=='__main__':
# Run the server using 1 worker processes.Worker(
tasks=[sleeping],
web_server_config={
'client_connected_cb': on_client_connect,
},
)).run(workers=1)

How to stop the worker

ctrl+c

Default values

VariableDefault
TCP server host0.0.0.0
TPC server port8888

Examples

  1. Hello world
  2. TCP Server
  3. Kafka Consumer

Development

  1. Clone this repo
  2. Run poetry install
  3. Test using ./scripts/test
  4. Lint automatically using ./scripts/lint

About

A Python worker running over asyncio

Topics

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages