task


License

License

GroupId

GroupId

io.github.yeghishe
ArtifactId

ArtifactId

task_2.11
Last Version

Last Version

0.1.3
Release Date

Release Date

Type

Type

jar
Description

Description

task
task
Project URL

Project URL

http://yeghishe.github.io/
Project Organization

Project Organization

io.github.yeghishe
Source Code Management

Source Code Management

https://github.com/yeghishe/task

Download task_2.11

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.yeghishe/task_2.11/ -->
<dependency>
    <groupId>io.github.yeghishe</groupId>
    <artifactId>task_2.11</artifactId>
    <version>0.1.3</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.yeghishe/task_2.11/
implementation 'io.github.yeghishe:task_2.11:0.1.3'
// https://jarcasting.com/artifacts/io.github.yeghishe/task_2.11/
implementation ("io.github.yeghishe:task_2.11:0.1.3")
'io.github.yeghishe:task_2.11:jar:0.1.3'
<dependency org="io.github.yeghishe" name="task_2.11" rev="0.1.3">
  <artifact name="task_2.11" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.yeghishe', module='task_2.11', version='0.1.3')
)
libraryDependencies += "io.github.yeghishe" % "task_2.11" % "0.1.3"
[io.github.yeghishe/task_2.11 "0.1.3"]

Dependencies

compile (17)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.11.7
com.sksamuel.scapegoat : scalac-scapegoat-plugin_2.11 jar 0.94.6
org.scalaz : scalaz-core_2.11 jar 7.1.1
org.scalaz : scalaz-effect_2.11 jar 7.1.1
org.scalaz : scalaz-typelevel_2.11 jar 7.1.1
com.typesafe.akka : akka-actor_2.11 jar 2.3.9
com.typesafe.akka : akka-camel_2.11 jar 2.3.9
com.propensive : rapture-core_2.11 jar 1.0.0
com.propensive : rapture-json_2.11 jar 1.0.0
com.propensive : rapture-json-jackson_2.11 jar 1.0.0
com.propensive : rapture-uri_2.11 jar 1.0.0
com.propensive : rapture-codec_2.11 jar 1.0.0
com.propensive : rapture-io_2.11 jar 0.10.0
com.propensive : rapture-net_2.11 jar 0.10.0
org.apache.camel : camel-rabbitmq jar 2.15.2
org.apache.camel : camel-apns jar 2.15.2
com.urbanairship : java-client jar 0.3.3

provided (2)

Group / Artifact Type Version
org.scoverage : scalac-scoverage-runtime_2.11 jar 1.1.0
org.scoverage : scalac-scoverage-plugin_2.11 jar 1.1.0

test (5)

Group / Artifact Type Version
org.scalaz : scalaz-scalacheck-binding_2.11 jar 7.1.1
org.typelevel : scalaz-scalatest_2.11 jar 0.2.3
com.typesafe.akka : akka-testkit_2.11 jar 2.3.9
org.scalatest : scalatest_2.11 jar 2.2.4
org.scalamock : scalamock-scalatest-support_2.11 jar 3.2

Project Modules

There are no modules declared in this project.

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

Versions

Version
0.1.3