You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/pages/04-web-development/27-task-queues.markdown
+15-2Lines changed: 15 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,6 +72,14 @@ time it takes to understand how to use the project.
72
72
*[Dramatiq](https://dramatiq.io) is a fast and reliable alternative
73
73
to Celery. It supports RabbitMQ and Redis as message brokers.
74
74
75
+
*[django-carrot](https://github.com/chris104957/django-carrot) is a
76
+
simple task queue specifically for [Django](/django.html) that can
77
+
serve when [Celery](/celery.html) is overkill.
78
+
79
+
*[tasq](https://github.com/codepr/tasq) is a brokerless task queue
80
+
for simple use cases. It is not recommended for production unless
81
+
further testing and development is done.
82
+
75
83
76
84
## Hosted message and task queue services
77
85
Task queue third party services aim to solve the complexity issues that arise
@@ -133,7 +141,6 @@ when scaling out a large deployment of distributed task queues.
133
141
are great reads for understanding the difference between a task queue and
134
142
why you shouldn't use your database as one.
135
143
136
-
137
144
* Flask by Example [Implementing a Redis Task Queue](https://realpython.com/blog/python/flask-by-example-implementing-a-redis-task-queue/)
138
145
provides a detailed walkthrough of setting up workers to use RQ with
139
146
Redis.
@@ -168,6 +175,11 @@ when scaling out a large deployment of distributed task queues.
168
175
He gives an overview of Celery followed by specific code to set up the task
169
176
queue and integrate it with Flask.
170
177
178
+
*[Ditching the Task Queue for Gevent](http://charlesleifer.com/blog/ditching-the-task-queue-for-gevent/)
179
+
explains how in some cases you can replace the complexity of a task queue
180
+
with concurrency. For example, you can remove [Celery](/celery.html) in
181
+
favor of [gevent](http://www.gevent.org/).
182
+
171
183
*[3 Gotchas for Working with Celery](https://wiredcraft.com/blog/3-gotchas-for-celery/)
172
184
are things to keep in mind when you're new to the Celery task queue
173
185
implementation.
@@ -189,7 +201,8 @@ when scaling out a large deployment of distributed task queues.
189
201
190
202
*[Developing an Asynchronous Task Queue in Python](https://testdriven.io/developing-an-asynchronous-task-queue-in-python) looks at how to implement several asynchronous task queues using Python's multiprocessing library and Redis.
191
203
192
-
## Task queue learning checklist
204
+
205
+
### Task queue learning checklist
193
206
1. Pick a slow function in your project that is called during an HTTP
0 commit comments