- database fails - some tasks could be reassigned more than ones. Accounting should be idempotent so it will cause no problems
- queues fail - reassing and accounting wont happen. Daily cron must make sure that task was put to queue, so is retries until queue is up
- api fails - ok, service dead, data does not change (except for daily cron)
- reassigner failed - reassing wont happen. (mb should drop queue on restart?)
- accounter fails - if idempotent and reassigner rollsback its things - it's ok
- network fails - sad
- Task complition during reassignment (fixed by transaction rollback on reassignment?)
- Task complition during daily accounting (fixed by blocking balance while accounting?)
- Task reassignment during daily accounting (?)
- calculating analytics and stats on demand (store things that will not change seperatly?)