surveyed physicians in 12 specialties across 10 provinces and found “a median waiting time of 21.2 weeks between referral from a general practitioner and receipt of treatment.”
.. The wait to see a specialist for a consultation is now 177% longer than in 1993, while the wait from consultation to treatment is 95% longer than in 1993.
.. The shortest waits are in radiation and oncology. But long waits for orthopaedic surgery, neurosurgery and ophthalmology, among others, far exceed what’s recommended and aren’t benign.
.. Some provinces perform better than others. “The shortest specialist-to-treatment waits are found in Ontario (8.6 weeks)”
.. while the longest are in Manitoba (16.3 weeks),”
Introduction to Celery
The purpose of Celery is to allow you to run some code later, or regularly according to a schedule.
Why might this be useful? Here are a couple of common cases.
First, suppose a web request has come in from a user, who is waiting for the request to complete so a new page can load in their browser. Based on their request, you have some code to run that’s going to take a while (longer than the person might want to wait for a web page), but you don’t really need to run that code before responding to the web request. You can use Celery to have your long-running code called later, and go ahead and respond immediately to the web request.
Jobtastic makes your user-responsive long-running Celery jobs totally awesomer. Celery is the ubiquitous python job queueing tool and jobtastic is a python library that adds useful features to your Celery tasks. Specifically, these are features you probably want if the results of your jobs are expensive or if your users need to wait while they compute their results.
Jobtastic gives you goodies like:
- Easy progress estimation/reporting
- Job status feedback
- Helper methods for gracefully handling a dead task broker (
- Super-easy result caching
- Thundering herd avoidance
- Integration with a celery jQuery plugin for easy client-side progress display
- Memory leak detection in a task run