summaryrefslogtreecommitdiff
path: root/doc/worker.markdown
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-06-05 14:19:07 -0400
committerFrederic Guillot <fred@kanboard.net>2016-06-05 14:19:07 -0400
commita08339059b06bcfb673b13a380b6f199abfb5983 (patch)
tree81638ec619684f04d9b5676bea1f73e1a2197cd1 /doc/worker.markdown
parentf48e5456312ddb366f9b623cd97b0e740fe99d9e (diff)
Improve background workers
Diffstat (limited to 'doc/worker.markdown')
-rw-r--r--doc/worker.markdown35
1 files changed, 35 insertions, 0 deletions
diff --git a/doc/worker.markdown b/doc/worker.markdown
new file mode 100644
index 00000000..fba66138
--- /dev/null
+++ b/doc/worker.markdown
@@ -0,0 +1,35 @@
+Background Workers
+==================
+
+**This feature is experimental**.
+
+Depending on your configuration, some features can slow down the application if they are executed in the same process as the HTTP request.
+Kanboard can delegate these tasks to a background worker that listen for incoming events.
+
+Example of feature that may slow down Kanboard:
+
+- Sending emails via an external SMTP server can take several seconds
+- Sending notifications to external services
+
+This feature is optional and require the installation of a queue daemon on your server.
+
+### Beanstalk
+
+[Beanstalk](http://kr.github.io/beanstalkd/) is a simple, fast work queue.
+
+- To install Beanstalk, you can simply use the package manager of your Linux distribution
+- Install the [Kanboard plugin for Beanstalk](https://kanboard.net/plugin/beanstalk)
+- Start the worker with the Kanboard command line tool: `./kanboard worker`
+
+### RabbitMQ
+
+[RabbitMQ](https://www.rabbitmq.com/) is a robust messaging system that is more suitable for high-availability infrastructure.
+
+- Follow the official documentation of RabbitMQ for the installation and the configuration
+- Install the [Kanboard plugin for RabbitMQ](https://kanboard.net/plugin/rabbitmq)
+- Start the worker with the Kanboard command line tool: `./kanboard worker`
+
+### Notes
+
+- You should start the Kanboard worker with a process supervisor (systemd, upstart or supervisord)
+- The process must be have access to the data folder if you store files on the local filesystem and have Sqlite