HangfireHs Notes

This repo is for notes about the HangfireHs project.

Why do I use org mode?

I use Org-mode because it is easier for me. Still, you can edit those file using a regular text editor, so small contributions should not be a problem. Also you can export org file to md using pandoc.

pandoc -s readme.org -o readme.md

Original documentation links

Main page

Overview

Detailed documentation

Different goals

Because we potentially target other platform and environments, this place will be for discussion about different databases support and other back-end storage issues.

Also, for now, we want to create a simplified product inspired by Hangfire. Reviewing the strengths of technology we use and the weaknesses of our team, we will decide about the project scope.

TODO

Project planning

Simple specification of the early prototype.

TODO

toy engine for background jobs

Why don’t we create some simple code that simulates talking to the database, possibly making the tests easier as well.

To get us off the ground we could only fire some terminal actions. What you think?

TODO

background job types

Don’t go yet for all the jobs possible.

Fire-and-forget

TODO

Delayed

TODO

Recurring

Recurring

TODO

testing

easy

Testing some parts of the system should be fairly trivial. Cron.cs should easily translate to Haskell. And the same goes for its tests in CronFacts.cs.

hard

There are parts that involve lots of exceptions. An I have no clue how to test these. Following two links are the relevant source and tests.

DelayedJobScheduler.cs

DelayedJobSchedulerFacts.cs

more TODO later