All actions executing twice in rails app

I pre-compiled my app to use in production mode. And after that it
started
to perform every action twice. I am not able to resolve it. My log comes
something like this.

Started GET “/assets/lowpro.js?body=1&_=1343203450861” for 127.0.0.1 at
Wed

On Wednesday, July 25, 2012 9:09:10 AM UTC+1, Sumit S. wrote:

I pre-compiled my app to use in production mode. And after that it started
to perform every action twice. I am not able to resolve it. My log comes
something like this.

You might need to describe your production setup in a little more detail
if
you want people to be able to workout what is going wrong.

Fred

I am currently running my app in development mode. This log is of
development mode. Am not able to deduce what exactly went wrong.

Regards
Sumit S.

The power of imagination makes us infinite…

I am thinking along the lines: why 2 requests? Why not 3, or 4, or an
infinite loop? You mentioned you “pre-compiled” it as a preparation to
deploy I guess. Can you tell more about what that exactly means in your
case? Basically it looks like your rails app is receiving two requests
one
after the other; though you can see from timestamps of first pair of
requests it’s not exactly duplicated requests:

Started GET “/assets/lowpro.js?body=1&=1343203450861"
Started GET "/assets/lowpro.js?body=1&
=1343203450915”

You might be running two web servers that both might be forwarding
requests
to the app, or you misconfigured something: either for your web server
(i.e. Apache), or you used some too-clever before filters logic that
only
redirect one. Does the latter ring a bell? Are you counting login/access
county at all (this would likely be an app level before filter because
of
quite a few different actions being affected).

2012/7/25 sumit srivastava [email protected]

I do have before_filter and to make sure they aren’t messing up things,
I
ran my app after removing them but nothing changed. The same code was
running fine earlier but now I am not able to get where it has got
problem.

Regards
Sumit S.

The power of imagination makes us infinite…

On 25 Jul 2012, at 10:45, sumit srivastava wrote:

The same code was running fine earlier but now I am not able to get where it has
got problem.

What did you change between the last time it worked, and now?

Peter

I was actually looking to insert custom error pages. On Googling I got
to
know production mode produces error page by default. I just wanted to
explore it and ran it in production mode. The production mode required
some
pre-compiled files so just did that.

Regards
Sumit S.

The power of imagination makes us infinite…

Peter,

I added code for session management where one user can login only using
one
browser at a time. Other than that I tried production mode of the app.

Regards
Sumit S.

The power of imagination makes us infinite…

So what did you do exactly to “compile” the code. I mean it is pretty
clear
that the answer lighs there. Just BTW have you tried simply restarting
your
machine, or checked that there are no renegade Rails server processes
running? But most important are the steps that you took to make a
working
project break :slight_smile: Please take some time to explain what you did when you
realized “OK, it’s ready for prod, I better compile it”.

2012/7/25 sumit srivastava [email protected]

Started GET “/assets/lowpro.js?body=1&_=1343203450915”
2012/7/25 sumit srivastava [email protected]

Redirected to http://localhost:3000/logout
Filter chain halted as :deny_multiple_login rendered or redirected
Processing by UserController#logout as JS
[email protected].
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
To unsubscribe from this group, send email to
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Pagarbiai,
Gintautas

Check your custom error pages implementation (controller code). It’s
thinkable that you do a redirect there if there is no error or
something.

2012/7/25 sumit srivastava [email protected]

The power of imagination makes us infinite…

comes something like this.

Served asset /lowpro.js - 200 OK (2ms)
User Load (0.2ms) SELECT “users”.* FROM “users” WHERE (username
=‘sumit’) LIMIT 1

You received this message because you are subscribed to the Google

To post to this group, send email to [email protected].
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Pagarbiai,
Gintautas

I store the request.session_options[:id] in my user table when one logs
in.
If another user logs in using another browser, this value is updated.
For
every action requested by user this value is checked by current value of
this variable. If not matched, user is redirected to login page.
Following is the code,

def deny_multiple_login

end

end

This one is defined in ApplicationController.

And then I user before_filter :deny_multiple_login in my *
ContactsController*.
Also I have another controller *Usercontroller *which is responsible for
login actions and contacts controller is responsible to manage contacts
list of every user.

Regards
Sumit S.

The power of imagination makes us infinite…

“I added code for session management where one user can login only using
one browser at a time”

And what if the same user is doing a request from another browser? What
actions do you take? It sounds reasonable to me to assume that your
logic
for determining if the browser detection logic is bugged.

2012/7/25 sumit srivastava [email protected]


Pagarbiai,
Gintautas

Tried it now. Didn’t help.

Regards
Sumit S.

The power of imagination makes us infinite…

I always forget, but you might want to try EXPLICITLY “true” at the end
(if
session[:user] is FALSE). I mean just use return true as an else
statement
to the that session[:user] condition, or just put true at the very end
just
before this before filter closes.

2012/7/25 sumit srivastava [email protected]

    @session_current_key = request.session_options[:id]

for determining if the browser detection logic is bugged.

Regards

The same code was running fine earlier but now I am not able to get
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
Gintautas


Pagarbiai,
Gintautas

If that (and everything else) fails, I could try to help you debug it in
a
google chat, skype or whatever, cause I got some free time on my hands,
and
debugging is fun :slight_smile:

As people mentioned, you got to provide more info/code and whatnot, it’s
just hardly doable with an answer every hour :wink:

2012/7/25 Ace S. [email protected]

I once experienced this kind of problem. This only happend with the
create
controller in my case. So every new record I created got created twice.
I
debugged step by step for hours but couldn’t find the problem. I think I
just moved on to a newer Rails, or newer gems of this or that, and it
went
away. I was extremely puzzeld, because even with the step by step
debugging
I failed to see where the second request got intitiated.

I hope you solve it.

Cheers
ace

Looks like js is running twice. Try rake assets:clean, and then clear
your browser cache (or try in incognito mode)

On Jul 25, 10:25am, sumit srivastava [email protected]
wrote:

I am currently running my app in development mode. This log is of
development mode. Am not able to deduce what exactly went wrong.

Clear out the precompiled assets - those will interfere with the
development ones

Fred

Frederick!

I deleted all the pre-compiled assets in public folder and restarted my
machine. It worked! Thanks :slight_smile:

Regards
Sumit S.

The power of imagination makes us infinite…

Looks like js is running twice. Try rake assets:clean, and then clear
your browser cache (or try in incognito mode)