mudasobwa

mudasobwa

Creator of Cure

Tarearbol - a lightweight task manager (now allows subscriptions to task results)

Tarearbol is a lightweight task manager, allowing retries, callbacks, assurance that the task succeeded, and more.

Starting with version 0.8.1 it married Envío to make it drastically easy to subscribe to task processing callbacks via Registry with pub_sub.

http://rocket-science.ru/hacking/2018/08/03/tarearbol-now-allows-subscriptions

Most Liked

mudasobwa

mudasobwa

Creator of Cure

Version update. Tarearbol gets DynamicManager to ease building the collections of supervised workers with a similar behaviours, e. g. watchers for different changing entities.

  • Scaffold for the supervised DynamicSupervisor
  • No code for managing processes required
  • Implementation is as easy as 4 callbacks
  • Extremely easy testing
  • Behaviour-driven consumers
  • Consistent state and callbacks on state changes (like restarting)

Implementation details and flow diagram.

mudasobwa

mudasobwa

Creator of Cure

This package does not compete with other [known to me] task management libraries. Most of known to me libraries deal mostly with task queues (like https://github.com/akira/exq and family) and/or alternative supervisions (like https://github.com/PSPDFKit-labs/sidetask.)

Tarearbol does none of the above.

Since yesterday it has two unrelated parts. The old one is a very thin wrapper around standard Task, reducing a boilerplate when one needs to deal with often-occasionally-failing tasks (retries, error handling, logging, etc.) plus it brings its own Supervisor. It was done mostly to eliminate the necessity to copy-paste boilerplate.

The part I introduced yesterday is actually not about tasks, but rather about DynamicSupervisor with many no-so-long living children. It has no analogs AFAIK. It drastically simplifies dealing with DynamicSupervisor when the workers are undefined upfront, have a defined lifecycle and might increase thousands in a number. It also makes testing DynamicSupervisor with children a charm.

mudasobwa

mudasobwa

Creator of Cure

New updates.

v0.13.1 includes lightweight cron scheduler fully based on spawn processes. Allows conditional job termination, rescheduling, keeps track of last execution outcome.

Zero boilerplate is required.

Comes with cron record parser, returning all the upcoming events as Stream, Tarearbol.Calendar.{beginning_of,end_of}/2 working properly with any calendar (not only Calendar.ISO.)

Exadra37

Exadra37

If anyone is wondering if this library is dead, I can see it as released v1.3.0 on 4 March 2021(2 days ago):

Releases · am-kantox/tarearbol · GitHub

mudasobwa

mudasobwa

Creator of Cure

I am finishing some improvements in the dynamic management part and will publish an update as soon as it’s done.

Where Next?

Popular in Libraries Top

josevalim
Hi everyone, We would like to announce that Plataformatec is working on a new MySQL driver called MyXQL. Our goal is to eventually integ...
New
kip
Image is an image processing library for Elixir. It is based upon the fabulous vix library that provides a libvips wrapper for Elixir. I...
574 16576 179
New
nikokozak
Hello all, I’ve been working on Svonix - a library for quickly integrating Svelte components into Phoenix views. It’s a much-needed succ...
New
arkgil
Hi all! I’m happy to announce that Telemetry v0.3.0 is out! This release marks the conversion from Elixir to Erlang so that all the libr...
New
New
benlime
I created a new library GitHub - benvp/ex_cva: Class Variance Authority for Elixir which aims to make it very easy to define different va...
New
Antrater
Hi everyone! I’m thrilled to announce a huge thing. We have been developing Elixir Moon Design System for quite a while. We are finally ...
New
bryanjos
Hi, I wanted share a small library we at Revelry Labs made for rendering react components from the server side. There are instructions fo...
New
mattludwigs
Grizzly is a library for working with Z-Wave devices. Z-Wave is a low-frequency radio protocol for controlling smart home devices on a me...
New
bluzky
You may know https://ui.shadcn.com/, a UI component library for React. I really love it’s design style and components. I’ve built some co...
381 12391 119
New

Other popular topics Top

sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lis...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 27727 240
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

Sub Categories:

We're in Beta

About us Mission Statement