Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tasks: you gotta know how to run 'em

Tasks: you gotta know how to run 'em

Web developers often find themselves in situations where server processing takes longer than a user would accept. One very common situation is when sending emails. Although simple and relatively quick task, it requires the communication with an external service. In this situation, it's not possible to foresee how long that service will take to answer. Not to mention the many unexpected situations that can arise, such as errors and bugs. The solution to this problem is to delegate long lasting tasks while responding quickly to the user. This is the point where we need async tasks. There are some tools available that can assist in this job. In this talk, you will learn about tools like Celery and Django Channels. Those offer different approaches to the asynchronous tasks problem. For each, you will understand the architecture behind and some of the good practices when developing this kind of system.

Ce373a3291defccc69a1392feb587f17?s=128

Filipe Ximenes

August 14, 2017
Tweet

Transcript

  1. None
  2. None
  3. None
  4. None
  5. Django React boilerplate https://github.com/vintasoftware/django-react-boilerplate Django Role Permissions https://github.com/vintasoftware/django-role-permissions Tapioca https://github.com/vintasoftware/tapioca-wrapper

  6. None
  7. None
  8. • • • • •

  9. None
  10. None
  11. None
  12. None
  13. ?

  14. None
  15. None
  16. None
  17. None
  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. GET /events/12/ POST /events/ { "name": "PyCon" } DELETE /events/12/

    PUT /events/12/ { "name": "PyCon" }
  26. GET /events/12/ POST /events/ { "name": "PyCon" } DELETE /events/12/

    PUT /events/12/ { "name": "PyCon" }
  27. None
  28. vs.

  29. vs.

  30. None
  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. None
  41. None
  42. None
  43. None
  44. None
  45. • • • • • •

  46. None
  47. Licences: http://www.flaticon.com/authors/madebyoliver

  48. None
  49. None
  50. None
  51. None
  52. None
  53. None
  54. None
  55. None
  56. None
  57. None
  58. None
  59. None