Make study listings async

This is a first attempt start at making things async. As an example, this makes the creation of the study listings async so the loading is non-blocking or other pages.
Not sure I understand, sorry

I dont think there's an issue necessarily with having instances of the ORMs
used in the handlers (ideally async'd), but we want to be careful for what
is potentially long running, and in those instances, submit to compute
On Oct 24, 2014 4:25 PM, "Joshua Shorenstein" <notifications@github.com>
wrote:

> In qiita_pet/handlers/study_handlers.py:
>
> >          self.render('public_studies.html', user=self.current_user,
> >                      public_studies=public_studies)
> >
> > +    def _get_public(self, callback):
> > +        callback([Study(s_id) for s_id in Study.get_public()])
>
> Looking at this more, to take full advantage of async we may want to build
> a dictionary of study info instead of just adding the study object, as that
> would unload the entirety of the DB calls to a separate async'ed function.
> Right now we still do a lot of the calls inside the template as the page is
> built. It would also be a first step in decoupling DB objects and
> qiita_pet. Thoughts?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/biocore/qiita/pull/496/files#r19341093>.
>