<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/codeheim/best-of/2024/05" -->

---
title: Best codeHeim posts — May 2024 | daily.dev
description: The most upvoted codeHeim posts from May 2024, curated by the daily.dev community.
canonical: https://daily.dev/sources/codeheim/best-of/2024/05
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/codeheim/best-of/2024/05
og:type: website
og:site_name: daily.dev
og:title: Best codeHeim posts — May 2024 | daily.dev
og:description: The most upvoted codeHeim posts from May 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of codeHeim — May 2024

1. 1  
[](https://daily.dev/posts/37-golang---mastering-background-jobs-in-go-with-gocraft-work-erea3t8vi "#37 Golang - Mastering Background Jobs in Go with gocraft/work")  
Video  
![Avatar of codeheim](https://media.daily.dev/image/upload/s--DSlJJUu6--/f_auto/v1710002834/logos/codeheim)codeHeim · 2y  
#37 Golang - Mastering Background Jobs in Go with gocraft/work  
Learn how to handle background jobs in Go using the gocraft/work package. Discover why background jobs are needed, how they differ from Go's built-in concurrency, and how background job systems persist the state of jobs. Explore advanced topics like using context and middleware, as well as the user interface for job status and the check-in feature for long-running jobs.  
35  
1

[See all codeHeim archives](/sources/codeheim/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/codeheim/best-of/2024/05#page","url":"https://daily.dev/sources/codeheim/best-of/2024/05","name":"Best codeHeim Posts — May 2024","description":"The most upvoted codeHeim posts from May 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/codeheim/best-of/2024/05#items","numberOfItems":1,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/37-golang---mastering-background-jobs-in-go-with-gocraft-work-erea3t8vi","name":"#37 Golang - Mastering Background Jobs in Go with gocraft/work"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"codeHeim","item":"https://daily.dev/sources/codeheim"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/codeheim/best-of"},{"@type":"ListItem","position":5,"name":"May 2024"}]}]}
```

