Add README

This commit is contained in:
Smaug123
2021-02-17 19:01:01 +00:00
parent deff47cc8f
commit c88d33aec1

17
README.md Normal file
View File

@@ -0,0 +1,17 @@
This is my answer to https://github.com/JerryDot/Webscraping-Webserver .
It comes in two parts: a small library which supplies the moving parts, and then a whale of an ASP.NET server to demonstrate it.
# PulsingServer library
This is a small library that defines two entities based on `MailboxProcessor`s.
One entity (`ServerAgent`) sits ready to serve requests based on the latest information pushed into it.
One entity (`ExternalInfoProvider`) repeatedly calls an `Async` to obtain new information, and pushes it into the `ServerAgent`s.
This way, we can ensure that only one entity is obtaining new information for the system, with low latency for responses via the `ServerAgent`, and no concurrency issues (because each `ServerAgent` maintains its own copy of the latest state).
# ASP.NET server
The server demonstrates the library in the most naive possible way, scraping a web page every 500ms to find the current time.
This incidentally demonstrates that you can distribute load across multiple `ServerAgent`s, although in fact the example does not do any distributing.