<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pages on TaskFused.com</title>
    <link>https://taskfused.com/pages/</link>
    <description>Recent content in Pages on TaskFused.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://taskfused.com/pages/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://taskfused.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://taskfused.com/about/</guid>
      <description>&lt;p&gt;taskfused.com is the home of TaskFused, a small Go engine that runs duplicate requests once. You give each piece of work a name. The first request with that name creates a durable operation; every equal request after it joins that operation and gets the same result, whether it comes from the same program, another process on the machine, or a retry after a timeout. The operations live in a local SQLite file, so they outlast crashes and restarts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://taskfused.com/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://taskfused.com/contact/</guid>
      <description>&lt;p&gt;taskfused.com would like to hear from:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone trying TaskFused out.&lt;/strong&gt; What worked, what got in the way, and what you used before.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone who found a bug.&lt;/strong&gt; An operation that ran when it shouldn&amp;rsquo;t have, one that never finished, an error you didn&amp;rsquo;t expect.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone with an idea&lt;/strong&gt; for something TaskFused should do next.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Write to &lt;strong&gt;&lt;a href=&#34;mailto:info@taskfused.com&#34;&gt;info@taskfused.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Bug reports are also welcome on &lt;a href=&#34;https://github.com/taskfused/taskfused/issues&#34;&gt;GitHub&lt;/a&gt;. It helps to include what &lt;code&gt;taskfused version&lt;/code&gt; prints, your operating system, and the steps that show the problem. Please don&amp;rsquo;t send real customer data: a few made-up operations that show the same thing are enough.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Download TaskFused</title>
      <link>https://taskfused.com/download/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://taskfused.com/download/</guid>
      <description>&lt;p&gt;Each archive below holds three commands with the license files and README: &lt;code&gt;taskfused&lt;/code&gt; (submit, inspect, wait for, cancel and retry operations, and serve the local HTTP API), &lt;code&gt;taskfused-worker&lt;/code&gt; (an example worker) and &lt;code&gt;taskfused-demo&lt;/code&gt; (a demo that checks itself). There&amp;rsquo;s nothing else to install. The links always point to the latest release.&lt;/p&gt;&#xA;&lt;div style=&#34;overflow-x:auto&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;System&lt;/th&gt;&#xA;          &lt;th&gt;Download&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, x86-64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/taskfused/taskfused/releases/latest/download/taskfused_linux_amd64.tar.gz&#34;&gt;taskfused_linux_amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Linux, ARM64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/taskfused/taskfused/releases/latest/download/taskfused_linux_arm64.tar.gz&#34;&gt;taskfused_linux_arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Apple silicon&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/taskfused/taskfused/releases/latest/download/taskfused_darwin_arm64.tar.gz&#34;&gt;taskfused_darwin_arm64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;macOS, Intel&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/taskfused/taskfused/releases/latest/download/taskfused_darwin_amd64.tar.gz&#34;&gt;taskfused_darwin_amd64.tar.gz&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Windows, x86-64&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/taskfused/taskfused/releases/latest/download/taskfused_windows_amd64.zip&#34;&gt;taskfused_windows_amd64.zip&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;em&gt;Checksums are in &lt;a href=&#34;https://github.com/taskfused/taskfused/releases/latest/download/SHA256SUMS&#34;&gt;SHA256SUMS&lt;/a&gt;. Every release is listed on &lt;a href=&#34;https://github.com/taskfused/taskfused/releases&#34;&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quick Start</title>
      <link>https://taskfused.com/quick-start/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://taskfused.com/quick-start/</guid>
      <description>&lt;p&gt;This takes about five minutes. You&amp;rsquo;ll submit the same request twice, watch it run once, and read the shared result. You need the &lt;code&gt;taskfused&lt;/code&gt; and &lt;code&gt;taskfused-worker&lt;/code&gt; commands from the &lt;a href=&#34;https://taskfused.com/download/&#34;&gt;download page&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-submit-some-work&#34;&gt;1. Submit Some Work&lt;/h2&gt;&#xA;&lt;p&gt;Every operation has a name made of four parts: a namespace, a handler, the handler&amp;rsquo;s version and a key. The example worker has one handler, &lt;code&gt;echo&lt;/code&gt;, which hands back its input after a short pause.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;taskfused submit -db demo.db -namespace demo -handler echo -version v1 &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&lt;/span&gt;  -key report-42 -input &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hello&amp;#39;&lt;/span&gt; -join&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The reply is JSON. Abridged to the parts that matter here:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reference</title>
      <link>https://taskfused.com/reference/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://taskfused.com/reference/</guid>
      <description>&lt;p&gt;The commands, the HTTP routes and the limits, for TaskFused 0.1. Every command except &lt;code&gt;serve&lt;/code&gt; and &lt;code&gt;version&lt;/code&gt; takes &lt;code&gt;-db&lt;/code&gt; (the SQLite file, &lt;code&gt;taskfused.db&lt;/code&gt; by default) and &lt;code&gt;-namespace&lt;/code&gt;, and prints JSON; &lt;code&gt;serve&lt;/code&gt; takes &lt;code&gt;-db&lt;/code&gt; too. &lt;a href=&#34;https://github.com/taskfused/taskfused/blob/main/docs/CONTRACT.md&#34;&gt;The contract&lt;/a&gt; on GitHub has the exact rules.&lt;/p&gt;&#xA;&lt;h2 id=&#34;names-and-states&#34;&gt;Names and States&lt;/h2&gt;&#xA;&lt;p&gt;An operation&amp;rsquo;s name is &lt;strong&gt;namespace, handler, version and key&lt;/strong&gt;, each up to 256 bytes. The input is any bytes up to 1 MiB, and so is the result.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
