Live Chat

We'll need to share your messages (and your email address if you're logged in) with our live chat provider, Drift. Here's their privacy policy.

If you don't want to do this, you can email us instead at contact@anvil.works.

Announcing Background Tasks

Today we’re delighted to announce Background Tasks, our latest addition to Anvil. Now you can kick off long-running processes and monitor their progress without blocking your app.

Simply use @anvil.server.background_task to mark a function as a Background Task:

@anvil.server.background_task
def crawl_the_web(url):
  """In the background, crawl the web."""
  recursively_index(url)

Then launch it using anvil.server.launch_background_task:

task = anvil.server.launch_background_task('crawl_the_web', 'https://wikipedia.org/')

Use Background Tasks for heavyweight calculations, housekeeping processes, connection pools, downloading large files, anything you want to do in the background while the user carries on interacting with your app.

Learn how to trigger Background Tasks, communicate with them, and manage them, by following the tutorial. You’ll build a web crawler that fetches all the pages in a given website. Or open the example in Anvil and investigate!