Skip to content
Example of functional agent in F#
F# Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Functional Agent

Typewriter console application which includes examples of agents using F#'s MailboxProcessor to control asynchronous workflows.

See the accompanying blog post for more information.

The three types of agents used are:

  • RateAgent -> used to limit the rate at which work is processed.
  • BlockingAgent -> used to limit amount of work processed in parallel.
  • BufferAgent -> used to limit the amount of memory that is consumed.

This application tries to mimic real world processes such as making an API request (the key press) and processing returned data (writing the keys to a file). When working with a large amount of data or sending many API requests, these agents can help the reliability of your application by not overloading memory or CPU, or overloading another server which does not have limits in place.


docker-compose run --rm typewriter
You can’t perform that action at this time.