Skip to content

Commit ea8323c

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

5 files changed

Lines changed: 48 additions & 5 deletions

File tree

‎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)