Task project

Build Status Code Quality Code Coverage

Download Release Tag Commits Issues

License Chat

Task project is designed to run tasks in reliable manner. It can run as a stand alone app or be embedded into another akka project both as publisher(s) and/or consumer(s).

Use cases would be queueing, live data migration, sending events to Mixpanel, download files from a server and put on S3, etc.

Overview or architecture

Blog post about task library

Current features

  • Sending a message from actor A to B in a reliable way (proxy consumers)
  • Segment consumer
  • Push consumer (Apns, Gcm, Urban Airship)
  • Currently RabbitMQ is used as queueing provider but can be swapped out in favor of kafka or something else
  • Later persistent actors can be used instead of queueing

Dependencies

  • Java (latest preferred)
  • Sbt (check project/build.properties for version)
  • Currently Rabbit is used, makes sure it's running on localhost:5672 and user guest/guest is enabled or modify config

Future contributions

  • Kafka backend
  • Support for json maessages to have non scala producers also
  • Designated S3 consumer to put content on S3, to download files from other servers and put on S3
  • Designated Mixpanel consumer