<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="162143" data-post-id="162143">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="arton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/arton/120/9244_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  arton
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for the suggestions <a class="mention" href="/u/benwilson512" rel="nofollow">@benwilson512</a> and <a class="mention" href="/u/sb8244" rel="nofollow">@sb8244</a> ! I do think those would be good options, but I’d like to keep the queue services I’m using pretty thin and “dumb”. I have a main Phoenix service that handles api, business logic, etc. and smaller plain elixir services that do some heavier processing with ports etc. They just do what the job they get from the db queue tells them without any networking and report success or failure.</p>
<p>Thanks for the idea and example code <a class="mention" href="/u/sorentwo" rel="nofollow">@sorentwo</a> ! I’ll give it a try and let you know how it goes.  That makes sense about telemetry, and I do think something along the lines of <code>Oban.insert_await/3</code> would be quite useful in situations like mine. Thanks again!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162143" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/173">Post #172</a>
	                </div>
	            </div>
              <div id="likers-container-162143" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162143"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #172"></div>
  </section>
</div>
    <div class="postbit" id="162236" data-post-id="162236">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="arton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/arton/120/9244_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  arton
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/sorentwo" rel="nofollow">@sorentwo</a> Your solution of using <code>Oban.Notifier</code> has been working great in my testing so far, thanks!</p>
<p>I also like the ability to send a json payload because it allows me to send a message with some useful information, which works great in my current project. So if you decide on an official implementation, I would vote for that as a good feature to consider keeping.</p>
<p>I’d even say using notifications directly is a useful enough feature to consider improving the interface of as an alternative or in addition to an await feature. Now I’m actually considering using notifications to improve the progress reporting on another service you previously helped me with. It would send a number of small json notifications over the course of a job, maybe up to a couple a second at times. It would allow me to move some logic to my primary app where I would prefer it to live if possible. Does that seem like a reasonable use for Notifier or should I exercise more caution?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162236" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/174">Post #173</a>
	                </div>
	            </div>
              <div id="likers-container-162236" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162236"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #173"></div>
  </section>
</div>
    <div class="postbit" id="162237" data-post-id="162237">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="benwilson512" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benwilson512/120/1457_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  benwilson512
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Craft GraphQL APIs in Elixir with Absinthe</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="arton" data-post="174" data-topic="22449">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/arton/48/9244_2.png" class="avatar"> arton:</div>
<blockquote>
<p>It would send a number of small json notifications over the course of a job, maybe up to a couple a second at times.</p>
</blockquote>
</aside>
<p>What would Oban be able to send about your job? It doesn’t know anything about its internal structure. I’m increasingly thinking <a class="mention" href="/u/sb8244" rel="nofollow">@sb8244</a> has the right idea here: you are looking to library level introspection to solve what is a business level concern. If your users have a concept of job progress, you need to model that and communicate about that, flat out. I understand you’re trying to limit the complexity of the worker nodes, but they need to be sufficiently nuanced to provide the level of functionality you require of them.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162237" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/175">Post #174</a>
	                </div>
	            </div>
              <div id="likers-container-162237" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162237"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #174"></div>
  </section>
</div>
    <div class="postbit" id="162239" data-post-id="162239">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sorentwo" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sorentwo/120/37360_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sorentwo
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Oban Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="arton" data-post="174" data-topic="22449">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/arton/48/9244_2.png" class="avatar"> arton:</div>
<blockquote>
<p>Your solution of using <code>Oban.Notifier</code> has been working great in my testing so far, thanks!</p>
</blockquote>
</aside>
<p>Great, that’s nice to hear. I neglected to mention that <code>pg_notify</code> messages aren’t delivered until after a transaction commits, so it can be difficult to test with them.</p>
<aside class="quote no-group" data-username="arton" data-post="174" data-topic="22449">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/arton/48/9244_2.png" class="avatar"> arton:</div>
<blockquote>
<p>I also like the ability to send a json payload because it allows me to send a message with some useful information, which works great in my current project. So if you decide on an official implementation, I would vote for that as a good feature to consider keeping.</p>
</blockquote>
</aside>
<p>Embarrassingly, I forgot that there is a <code>notify/3</code>  function in <code>Oban.Query</code> that makes this a little easier. You can see it <a href="https://github.com/sorentwo/oban/blob/master/lib/oban/query.ex#L223" rel="noopener nofollow ugc">here</a>. As with the notifier module it is internal and undocumented, which makes it private, technically.</p>
<aside class="quote no-group" data-username="arton" data-post="174" data-topic="22449">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/arton/48/9244_2.png" class="avatar"> arton:</div>
<blockquote>
<p>Now I’m actually considering using notifications to improve the progress reporting on another service you previously helped me with. It would send a number of small json notifications over the course of a job, maybe up to a couple a second at times. It would allow me to move some logic to my primary app where I would prefer it to live if possible. Does that seem like a reasonable use for Notifier or should I exercise more caution?</p>
</blockquote>
</aside>
<p>That level of activity for PG notifications (and the notifier) is perfectly fine. You could do the same thing with redis pubsub or phoenix channels, it’s up to you. As <a class="mention" href="/u/benwilson512" rel="nofollow">@benwilson512</a> mentioned, this is ultimately an app/business level decision, you can use whichever models the data flow best for you.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162239" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/176">Post #175</a>
	                </div>
	            </div>
              <div id="likers-container-162239" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162239"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #175"></div>
  </section>
</div>
    <div class="postbit" id="162245" data-post-id="162245">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="arton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/arton/120/9244_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  arton
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="benwilson512" data-post="175" data-topic="22449">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benwilson512/48/1457_2.png" class="avatar"> benwilson512:</div>
<blockquote>
<p>What would Oban be able to send about your job? It doesn’t know anything about its internal structure.</p>
</blockquote>
</aside>
<p>I’m not using Oban for anything besides enqueuing/retrieving jobs, and now passing some simple messages back. This would just be using <code>Oban.Notifier</code> as a vehicle for sending simple status messages from the service doing work to the service that requested the work. For the progress notifications for instance, it would allow me to move some logic to the service that maintains overall system state and communicates with the front-end etc. which is where I would prefer to keep it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162245" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/177">Post #176</a>
	                </div>
	            </div>
              <div id="likers-container-162245" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162245"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #176"></div>
  </section>
</div>
    <div class="postbit" id="162246" data-post-id="162246">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="arton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/arton/120/9244_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  arton
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Awesome, thanks <a class="mention" href="/u/sorentwo" rel="nofollow">@sorentwo</a>! I’ll let you know how it goes when I get a chance to look into it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162246" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/178">Post #177</a>
	                </div>
	            </div>
              <div id="likers-container-162246" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162246"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #177"></div>
  </section>
</div>
    <div class="postbit" id="162247" data-post-id="162247">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="arton" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/arton/120/9244_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  arton
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/sorentwo" rel="nofollow">@sorentwo</a><br>
With the <code>Oban.Query.notify/3</code> function you mentioned, I’m able to reduce the notify code to:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">import Oban.Notifier, only: [signal: 0]

defp notify(jid) do
  payload = %{job_complete: jid}
  Oban.Query.notify(Oban.config(), signal(), payload)
end
</code></pre>
<p>It seems to me that if you decide to officially support this feature, you could make a public <code>Query.notify/1</code> that just takes a payload map and just calls <code>Query.notify/3</code> with the default values for the first two arguments.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162247" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/179">Post #178</a>
	                </div>
	            </div>
              <div id="likers-container-162247" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162247"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #178"></div>
  </section>
</div>
    <div class="postbit" id="162655" data-post-id="162655">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sasajuric" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sasajuric/120/991_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sasajuric
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Elixir In Action</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hey <a class="mention" href="/u/sorentwo" rel="nofollow">@sorentwo</a>,</p>
<p>Not sure if this question is more appropriate here or on GH. I’ll start here, but let me know if you prefer to move it to issue tracker.</p>
<p>We have the following scenario. We need to enqueue some jobs for a distant future, but then through other interactions, we might decide that some scheduled jobs don’t need to be executed. The question is how can we remove those? From what I can tell, there’s no special API, except maybe <a href="https://hexdocs.pm/oban/Oban.html#kill_job/2" rel="noopener nofollow ugc">kill_job</a> (but I’m not clear if that one would work, and even if it did would require unscheduling jobs one by one). Currently, we’re just deleting <code>oban_jobs</code> entries. Perhaps this approach is fine, but I’d like to double check if this is ok, or is there something else we’re missing?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162655" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/180">Post #179</a>
	                </div>
	            </div>
              <div id="likers-container-162655" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162655"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #179"></div>
  </section>
</div>
    <div class="postbit" id="162669" data-post-id="162669">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sorentwo" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sorentwo/120/37360_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sorentwo
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Oban Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="sasajuric" data-post="180" data-topic="22449">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sasajuric/48/991_2.png" class="avatar"> sasajuric:</div>
<blockquote>
<p>We have the following scenario. We need to enqueue some jobs for a distant future, but then through other interactions, we might decide that some scheduled jobs don’t need to be executed. The question is how can we remove those? From what I can tell, there’s no special API, except maybe <a href="https://hexdocs.pm/oban/Oban.html#kill_job/2" rel="noopener nofollow ugc">kill_job</a> (but I’m not clear if that one would work, and even if it did would require unscheduling jobs one by one). Currently, we’re just deleting <code>oban_jobs</code> entries.</p>
</blockquote>
</aside>
<p>That’s exactly what I would do (and what the UI does). Using <code>kill_job</code> wouldn’t work in this situation because it only works when a job is executing.</p>
<aside class="quote no-group" data-username="sasajuric" data-post="180" data-topic="22449">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sasajuric/48/991_2.png" class="avatar"> sasajuric:</div>
<blockquote>
<p>Perhaps this approach is fine, but I’d like to double check if this is ok, or is there something else we’re missing?</p>
</blockquote>
</aside>
<p>You aren’t missing anything! This has come up fairly often. The fact that this is ambiguous leads me to think that there is a case for an <code>Oban.delete/1</code> function. Not that it is difficult to implement, but it would be the “blessed” way to delete a job.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162669" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/181">Post #180</a>
	                </div>
	            </div>
              <div id="likers-container-162669" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162669"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #180"></div>
  </section>
</div>
    <div class="postbit" id="162674" data-post-id="162674">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sasajuric" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sasajuric/120/991_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sasajuric
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Elixir In Action</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for the quick response and the great work!</p>
<aside class="quote no-group" data-username="sorentwo" data-post="181" data-topic="22449">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sorentwo/48/37360_2.png" class="avatar"> sorentwo:</div>
<blockquote>
<p>The fact that this is ambiguous leads me to think that there is a case for an <code>Oban.delete/1</code> function.</p>
</blockquote>
</aside>
<p>Perhaps it would be enough to mention it in docs.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="162674" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/oban-reliable-and-observable-job-processing/22449/182">Post #181</a>
	                </div>
	            </div>
              <div id="likers-container-162674" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="162674"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #181"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/22449/load_more?page=19">Load more posts (131 remaining)</a>
</div></template></turbo-stream>