ActionController::Live in development without "config.cache_classes = true"?

Hey all,

we recently ported to Rails 4.0 from 3.2.13 with our application and
were
really excited about the new ActionController::Live functionalities.
Part
of our application is a messaging/notification system and we wanted to
implement a live notification when a new message reaches the inbox of a
user. To create not too much overhead we decided to implement some lame
JavaScript polling function that checks for new messages every 15
seconds -
not that fancy in my opinion :wink:

With ActionController::Live and Server-Sent Events (in combination with
Redis) we were hoping to have found a good solution with not too much
overhead. Maybe some of you know that for this to work you canā€™t go with
the WebRICK web server - but we were fine to go with Puma.

But what really bugs me: You need to set ā€œconfig.cache_classesā€ and
ā€œconfig.eager_loadā€ to ā€œtrueā€ for your development environment to let
this
combination (mentioned above) work out. That means that in development
you
have to restart the web server (Puma) each time you want code changes to
be
applied.

Did anyone else encounter these uncomfortable workflow? Is anybody out
there who can give me some point to think forward from to find a
solution
for this?

Right now weā€™re thinking of a (very, very, very) bad hack: Activate the
old-style polling based on JS within development environment to somehow
verify that message notifications are send without a page reload and
donā€™t
use the ActionController::Live - and go with the good solution in the
production environment.

In my opinion I would rather go with a better solution for development
ā€¦

I would really appreciate any input on this topic :slight_smile:

+1

Thanks for heading back here, Kristijan - Iā€™ll go with that setting once
Iā€™ve some resources available to test this.

Am Mittwoch, 2. April 2014 00:57:09 UTC+2 schrieb Kristijan Sedlak:

Just add config.allow_concurrency = true to your development.rb.