<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Async on sugar, spice, &amp;terminal? nice</title>
    <link>https://terminal.space/tag/async/</link>
    <description>Recent content in Async on sugar, spice, &amp;terminal? nice</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 20 Aug 2022 07:04:44 +0000</lastBuildDate>
    <atom:link href="https://terminal.space/tag/async/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Introducing Async Service</title>
      <link>https://terminal.space/tech/introducing-async-service/</link>
      <pubDate>Sat, 20 Aug 2022 07:04:44 +0000</pubDate>
      <guid>https://terminal.space/tech/introducing-async-service/</guid>
      <description>&lt;h1 id=&#34;distributed-tasks-with-postgres--rabbitmq&#34;&gt;Distributed tasks with Postgres &amp;amp; Rabbitmq&lt;/h1&gt;&#xA;&lt;p&gt;TL;DR: &lt;a href=&#34;https://www.db-fiddle.com/f/yeKfmXg2nLbhZBLzWi11W/2&#34;&gt;Check out the code here&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;At my workplace, we needed a mechanism to:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Have service A tell service B to start executing long-running tasks, with notifications upon completion&lt;/li&gt;&#xA;&lt;li&gt;Add reliability to cross-service infrastructure to be resilient to temporary outages&lt;/li&gt;&#xA;&lt;li&gt;Support nested jobs where Job 1 needs to complete sub-steps 1a, 1b, 1c, etc. which are all jobs themselves&lt;/li&gt;&#xA;&lt;li&gt;Support scaling to accommodate large surges of jobs&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;I considered different off-the-shelf products, but ended up feeling like we would need to fork the functionality to get the behavior we wanted. I also wanted to avoid introducing yet-another-stack, query syntax, and more into our system. Since our backend already is based around postgres and rabbitmq, I singlehandedly designed and implemented async service to handle our needs.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
