Content provided by Artur W., Grzegorz Godlewski, Marek Urbanowicz, and Artur Wolny. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Artur W., Grzegorz Godlewski, Marek Urbanowicz, and Artur Wolny or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

#018: Implementing background jobs

29:52
 
Share
 

Manage episode 347311311 series 3310419
Content provided by Artur W., Grzegorz Godlewski, Marek Urbanowicz, and Artur Wolny. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Artur W., Grzegorz Godlewski, Marek Urbanowicz, and Artur Wolny or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.

📚 ABOUT THE EPISODE
Welcome to the 18th episode of the main series!
This time Grzegorz Godlewski and Marek Urbanowicz met up to discuss their experience and recommendations on implementing background jobs. Any system which is growing in scale, will need those at some point either to implement performance improvements (by putting some work into the background) or new business requirements (which are supposed to run in background).
Tune in for insights on how this can be done! 🎧
📑 TOPICS COVERED
👉 How simple business analysis can help you in determining candidates for background jobs
👉 What software architecture patterns come in handy while implementing them
👉 What are the best practices for reliable implementations
👉 Some tools/products which you might consider for your implementation
⌚ TIMELINE
00:00 - Intro
01:14 - How to identify candidates for background jobs
08:28 - Employ the transactional outbox pattern
11:53 - Dealing with state in background jobs
15:29 - Scheduling and processing batched operations
18:40 - Avoiding state with Event Carried State Transfer pattern
21:14 - Silver bullets and golden hammers - the tooling
28:08 - Emphasis on idempotency
🔗 LINKS FROM THE EPISODE
M. Fowler: What do you mean by “Event-Driven”?
https://martinfowler.com/articles/201701-event-driven.html
Transactional outbox pattern description
https://microservices.io/patterns/data/transactional-outbox.html
BullMQ
https://docs.bullmq.io/
RabbitMQ Delayed Message Plugin
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange
Temporal:
https://temporal.io/
🤝 CONTACT US / COLLABORATION
If you:
- want to send us your valuable feedback
- you would like to appear on the show as a guest
- you would like to help out the show to grow
- you would like to sponsor the show
Then please contact us via: podcast@artistryofcode.com
You can also check out our website: https://artistryofcode.com
😍 FOLLOW US ON SOCIAL MEDIA
Facebook: https://www.facebook.com/ArtistryOfCode
Twitter: https://twitter.com/ArtistryOfCode
LinkedIn: https://www.linkedin.com/company/artistry-of-code
Reddit: https://www.reddit.com/r/ArtistryOfCode/
Grzegorz Godlewski
LinkedIn: https://www.linkedin.com/in/ggodlewski/
Twitter: https://twitter.com/GGodlewski
Marek Urbanowicz
LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
Twitter: https://twitter.com/UrbanowiczDev
Artur Wolny
LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

  continue reading

28 episodes

iconShare
 
Manage episode 347311311 series 3310419
Content provided by Artur W., Grzegorz Godlewski, Marek Urbanowicz, and Artur Wolny. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Artur W., Grzegorz Godlewski, Marek Urbanowicz, and Artur Wolny or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.

📚 ABOUT THE EPISODE
Welcome to the 18th episode of the main series!
This time Grzegorz Godlewski and Marek Urbanowicz met up to discuss their experience and recommendations on implementing background jobs. Any system which is growing in scale, will need those at some point either to implement performance improvements (by putting some work into the background) or new business requirements (which are supposed to run in background).
Tune in for insights on how this can be done! 🎧
📑 TOPICS COVERED
👉 How simple business analysis can help you in determining candidates for background jobs
👉 What software architecture patterns come in handy while implementing them
👉 What are the best practices for reliable implementations
👉 Some tools/products which you might consider for your implementation
⌚ TIMELINE
00:00 - Intro
01:14 - How to identify candidates for background jobs
08:28 - Employ the transactional outbox pattern
11:53 - Dealing with state in background jobs
15:29 - Scheduling and processing batched operations
18:40 - Avoiding state with Event Carried State Transfer pattern
21:14 - Silver bullets and golden hammers - the tooling
28:08 - Emphasis on idempotency
🔗 LINKS FROM THE EPISODE
M. Fowler: What do you mean by “Event-Driven”?
https://martinfowler.com/articles/201701-event-driven.html
Transactional outbox pattern description
https://microservices.io/patterns/data/transactional-outbox.html
BullMQ
https://docs.bullmq.io/
RabbitMQ Delayed Message Plugin
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange
Temporal:
https://temporal.io/
🤝 CONTACT US / COLLABORATION
If you:
- want to send us your valuable feedback
- you would like to appear on the show as a guest
- you would like to help out the show to grow
- you would like to sponsor the show
Then please contact us via: podcast@artistryofcode.com
You can also check out our website: https://artistryofcode.com
😍 FOLLOW US ON SOCIAL MEDIA
Facebook: https://www.facebook.com/ArtistryOfCode
Twitter: https://twitter.com/ArtistryOfCode
LinkedIn: https://www.linkedin.com/company/artistry-of-code
Reddit: https://www.reddit.com/r/ArtistryOfCode/
Grzegorz Godlewski
LinkedIn: https://www.linkedin.com/in/ggodlewski/
Twitter: https://twitter.com/GGodlewski
Marek Urbanowicz
LinkedIn: https://www.linkedin.com/in/marek-urbanowicz-0ba65254/
Twitter: https://twitter.com/UrbanowiczDev
Artur Wolny
LinkedIn: https://www.linkedin.com/in/artur-wolny-35150664/

  continue reading

28 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

icon Daily Deals

Quick Reference Guide

Copyright 2025 | Privacy Policy | Terms of Service | | Copyright
Listen to this show while you explore
Play