R1D45 Queueable Apex
I am pretty sure that by the third week of any budding Apex developers journey they run into the following error in their code.
The help documentation does a decent job explaining what is happening. It turns out that if you have any DML in your code, you cannot make a "callout" (HTTP call) in the same method.Error: 'You have uncommitted work pending. Please commit or rollback before calling out.'
Unfortunately, there is no way to “commit” in Apex. What they really mean, is you need to do this step asynchronously. There are two ways of doing this. Using the @future annotation (I still have no idea how this works) or using Queueable Apex.
This allows you to essentially schedule jobs on a separate “thread” and not block the other parts of salesforce while your code runs.
The thing that threw me off was that I was not actually doing any DML in my code. My code is triggered with a DB trigger when a record is inserted or updated. I assumed that since the record was already inserted or updated then it would also already be “committed”, but this turns out to not be the case and I suppose this rule applies to anything that has to do with the Salesforce database.
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- Microblog
- SQLite DB Migrations with PRAGMA user_version
- Converting CSV to a SQLite Database
- One Year of Foxglove
- #451
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- The contagion of fear from The Observation Deck
- The revolt of the reader from The Observation Deck
- Deeper dive: Were Touch Bar’s problems software rather than hardware? from Unsung
- Joining Cursor from Fatih Arslan
- Pluralistic: Digital sewer socialism (08 Aug 2026) from Pluralistic: Daily links from Cory Doctorow
- Pluralistic: Enshittification and Reverse Centaurs go global (29 Jul 2026) from Pluralistic: Daily links from Cory Doctorow
- AI Mania Is Eviscerating Global Decision-Making from Ludicity
- The default person from https://popagandhi.com/
Articles from blogs I follow around the net
Why some people (including me) are spending more time on Twitter
Yes, I still call it Twitter. Mostly because I am old and set in my ways, but also because I have spent what feels like most of my life on there — certainly a large portion of my professional life — and for the vast majority of that time it
via The Torment Nexus October 15, 2026Pluralistic: Expedia amazoned hotel rooms (15 Oct 2026)
Today's links Expedia amazoned hotel rooms: Everything more expensive for everyone, monopolies everywhere, and we're all screwed. Hey look at this: Delights to delectate. Object permanence: Delta v dovening; "Play Money"; Alabama's ethnic cleansing; We tru...
via Pluralistic: Daily links from Cory Doctorow October 15, 2026“I hoped the system would have had more capacity for institutional reform than it has.”
Those are the words of Mike Bracken, the former head of the United Kingdom’s Government Digital Service (GDS), as he reflected on his departure back in 2015. “We now have a different set of ministers, a different group of permanent secretaries, and you hav...
via Sean Boots October 15, 2026Generated by openring