diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/assistant/crashrecovery.png | bin | 0 -> 6594 bytes | |||
-rw-r--r-- | doc/design/assistant/blog/day_176__thread_management.mdwn | 13 | ||||
-rw-r--r-- | doc/install/fromscratch.mdwn | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/doc/assistant/crashrecovery.png b/doc/assistant/crashrecovery.png Binary files differnew file mode 100644 index 000000000..fce3805d0 --- /dev/null +++ b/doc/assistant/crashrecovery.png diff --git a/doc/design/assistant/blog/day_176__thread_management.mdwn b/doc/design/assistant/blog/day_176__thread_management.mdwn new file mode 100644 index 000000000..38f043fcf --- /dev/null +++ b/doc/design/assistant/blog/day_176__thread_management.mdwn @@ -0,0 +1,13 @@ +Got back to hacking today, and did something I've wanted to do for some +time. Made all the assistant's threads be managed by a thread manager. This +allows restarting threads if they crash, by clicking a button in the +webapp. It also will allow for other features later, like stopping and +starting the watcher thread, to pause the assistant adding local files. + +[[!img /assistant/crashrecovery.png]] + +I added the haskell async library as a dependency, which made this pretty +easy to implement. The only hitch is that async's documentation is not +clear about how it handles asyncronous exceptions. It took me quite a while +to work out why the errors I'd inserted into threads to test were crashing +the whole program rather than being caught! diff --git a/doc/install/fromscratch.mdwn b/doc/install/fromscratch.mdwn index 1aebc68a2..a5c402c24 100644 --- a/doc/install/fromscratch.mdwn +++ b/doc/install/fromscratch.mdwn @@ -46,6 +46,7 @@ quite a lot. * [network-protocol-xmpp](http://hackage.haskell.org/package/network-protocol-xmpp) * [dns](http://hackage.haskell.org/package/dns) * [xml-types](http://hackage.haskell.org/package/xml-types) + * [async](http://hackage.haskell.org/package/async) * Shell commands * [git](http://git-scm.com/) * [uuid](http://www.ossp.org/pkg/lib/uuid/) |