Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I don't think you <em>should</em> use celery, Cron still sounds fine to me in your case, but you might want to give Celery a try.</p> <p>To me, Celery is a Python module for [asynchronous] [distributed] task queues. It allows you to dispatch lengthy tasks to multiple processes running on multiple machines (but one process on one machine is still fine). When you need to do something that takes time (like generate thumbnails, speak to an external API or generate complex reports), you can use Celery to do this in the background without blocking HTTP request for your user.</p> <p>Some advantages of Celery over crontab:</p> <ul> <li>you can run tasks asynchronously, exactly when there is at least one celery worker free</li> <li>it does scale well to multiple processes / machines</li> <li>celerybeat is like crontab; but you can schedule tasks at given datetime or intervals using python syntax in your settings.py</li> <li>you can apply rate limits (for example for some sort of prioritization)</li> <li>there are monitoring tools like <a href="https://flower.readthedocs.io/en/latest/" rel="nofollow">Flower</a> which will give you a decent idea of what tasks have failed and what have succeeded</li> </ul> <p>Some disadvantages of Celery:</p> <ul> <li>setup can take some time - you have to setup queue broker and demonize the workers in production; cron will already be there</li> <li>each worker process is likely to use ~same amount of RAM as your Django process, this can cost you $ or you may simply not have enough RAM to run Celery on, say, AWS free tier </li> </ul> <p>And also, if it's just about sending e-mails, you could consider using a paid service such as <a href="https://postmarkapp.com/" rel="nofollow">Postmark</a> (I am not affiliated to them), which will handle e-mail throttling for you.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload