Skip to content

Commit ea8323c

Browse files
committed
updating task queues page with a learning checklist
1 parent 66b22f7 commit ea8323c

File tree

5 files changed

+48
-5
lines changed

5 files changed

+48
-5
lines changed

change-log.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ <h2>2014</h2>
5353
<h3>May</h3>
5454
<ul>
5555
<li>Cleaned up and polished the task queues page.</li>
56-
<li>Added learning checklist to operating systems, web servers and monitoring
57-
pages.</li>
56+
<li>Added learning checklist to operating systems, web servers, task queues and
57+
monitoring pages.</li>
5858
<li>Adding more logging resources.</li>
5959
<li>Continuing to add learning checklists to sections such as servers.</li>
6060
<li>Moving navigation options into meta tags on markdown pages.</li>

feeds/all.atom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<feed xmlns="http://www.w3.org/2005/Atom"><title>Matt Makai</title><link href="http://www.fullstackpython.com/" rel="alternate"></link><link href="http://www.fullstackpython.com/feeds/all.atom.xml" rel="self"></link><id>http://www.fullstackpython.com/</id><updated>2014-05-10T13:12:57Z</updated></feed>
2+
<feed xmlns="http://www.w3.org/2005/Atom"><title>Matt Makai</title><link href="http://www.fullstackpython.com/" rel="alternate"></link><link href="http://www.fullstackpython.com/feeds/all.atom.xml" rel="self"></link><id>http://www.fullstackpython.com/</id><updated>2014-05-10T13:30:24Z</updated></feed>

source/content/pages/07-performance/0705-task-queues.markdown

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,31 @@ Other types of jobs for task queues include
5050
* scheduling periodic jobs such as batch processes
5151

5252

53+
## Task queues learning checklist
54+
<i class="fa fa-check-square-o"></i>
55+
Pick a slow function in your project that is called during an HTTP request.
56+
57+
<i class="fa fa-check-square-o"></i>
58+
Determine if you can precompute the results on a fixed interval instead of
59+
during the HTTP request. If so, create a separate function you can call
60+
from elsewhere then store the precomputed value in the database.
61+
62+
<i class="fa fa-check-square-o"></i>
63+
Read the Celery documentation and the links in the resources section below
64+
to understand how the project works.
65+
66+
<i class="fa fa-check-square-o"></i>
67+
Install a message broker such as RabbitMQ or Redis and then add Celery to your
68+
project. Configure Celery to work with the installed message broker.
69+
70+
<i class="fa fa-check-square-o"></i>
71+
Use Celery to invoke the function from step one on a regular basis.
72+
73+
<i class="fa fa-check-square-o"></i>
74+
Have the HTTP request function use the precomputed value instead of the
75+
slow running code it originally relied upon.
76+
77+
5378
## Task queue projects
5479
The defacto standard Python task queue is Celery. The other task queue
5580
projects that arise tend to come from the perspective that Celery is overly

source/content/pages/10-misc/1005-change-log.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ the
2525
## 2014
2626
### May
2727
* Cleaned up and polished the task queues page.
28-
* Added learning checklist to operating systems, web servers and monitoring
29-
pages.
28+
* Added learning checklist to operating systems, web servers, task queues and
29+
monitoring pages.
3030
* Adding more logging resources.
3131
* Continuing to add learning checklists to sections such as servers.
3232
* Moving navigation options into meta tags on markdown pages.

task-queues.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,24 @@ <h2>Why are tasks queues necessary?</h2>
7676
<p>scheduling periodic jobs such as batch processes</p>
7777
</li>
7878
</ul>
79+
<h2>Task queues learning checklist</h2>
80+
<p><i class="fa fa-check-square-o"></i>
81+
Pick a slow function in your project that is called during an HTTP request.</p>
82+
<p><i class="fa fa-check-square-o"></i>
83+
Determine if you can precompute the results on a fixed interval instead of
84+
during the HTTP request. If so, create a separate function you can call
85+
from elsewhere then store the precomputed value in the database.</p>
86+
<p><i class="fa fa-check-square-o"></i>
87+
Read the Celery documentation and the links in the resources section below
88+
to understand how the project works.</p>
89+
<p><i class="fa fa-check-square-o"></i>
90+
Install a message broker such as RabbitMQ or Redis and then add Celery to your
91+
project. Configure Celery to work with the installed message broker.</p>
92+
<p><i class="fa fa-check-square-o"></i>
93+
Use Celery to invoke the function from step one on a regular basis.</p>
94+
<p><i class="fa fa-check-square-o"></i>
95+
Have the HTTP request function use the precomputed value instead of the
96+
slow running code it originally relied upon.</p>
7997
<h2>Task queue projects</h2>
8098
<p>The defacto standard Python task queue is Celery. The other task queue
8199
projects that arise tend to come from the perspective that Celery is overly

0 commit comments

Comments
 (0)