[Glass] [a bit offtopic] Redirect special seaside request to a different VM

Paul DeBruicker pdebruic at gmail.com
Wed Dec 18 10:40:57 PST 2013


I answered the folowing on the website:

@hellvinz is right. I can't comment so I'm making another answer.

location / {
   if($myArg = "otherPool") {
       rewrite  ^/(.*)$ /otherUpstream/$1 last;
     } 
   try_files $uri pool1;
}

location /otherUpstream {
     proxy_pass http://@pool2;
}
I think you'll have to change $myArg to the name of the query parameter
you're testing for and otherPool to whatever you set it to. Plus the rewrite
is untested, so I may have that wrong too but you get the idea.



Mariano Martinez Peck wrote
> On Wed, Dec 18, 2013 at 2:48 PM, Dale K. Henrichs <

> dale.henrichs@

>> wrote:
> 
>>
>> ------------------------------
>>
>> *From: *"Mariano Martinez Peck" <

> marianopeck@

> >
>> *To: *

> glass at .gemtalksystems

> , "Seaside - general discussion" <
>> 

> seaside at .squeakfoundation

>>
>> *Sent: *Wednesday, December 18, 2013 9:40:06 AM
>> *Subject: *[Glass] [a bit offtopic] Redirect special seaside request to
>> a        different VM
>>
>>
>> Hi guys,
>>
>> I have some special requests that I want to redirect to another Gem. What
>> I did in seaside is to implement #updateUrl: and add some parameter for
>> those cases I want to send it to another Gem.
>>
>> Now, I don't know how to adapt nginx for such a thing. I am using
>> FastCGI.
>> So I need to check if such argument is present in the URL and if true,
>> send
>> it to another upstream. If not, use the normal upstream.
>>
>> Are you having trouble finding the parameter because you are using
>> FastCGI? Or is the trouble purely an nginx question?
>>
> 
> I guess the later.  My usecase is this: I have some module inside the app
> which have some reports which may take several seconds, even some minutes.
> I know I could make them async, I know I have serviceVM, etc. But for the
> moment I want to keep it simple. So all those request from those modules,
> I
> want a special gem listening to them. Why? because I don't want to lock
> the
> VM for many time and because I want a different gem conf file (assignee
> more memory, etc).
> 
> So the thing is how can I make the if in nginx and send the request to the
> appropriate upstream of gems.
> 
> 
> 
>>
>> I have explained my problem here:
>> http://serverfault.com/questions/561993/nginx-choose-upstream-depending-on-args
>> but I didn't have any working answer.
>>
>> Does any of you have an idea how could I do that?
>>
>> Thanks in advance,
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>> _______________________________________________
>> Glass mailing list
>> 

> Glass at .gemtalksystems

>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>>
>>
>>
> 
> 
> -- 
> Mariano
> http://marianopeck.wordpress.com
> 
> _______________________________________________
> Glass mailing list

> Glass at .gemtalksystems

> http://lists.gemtalksystems.com/mailman/listinfo/glass





--
View this message in context: http://forum.world.st/Glass-a-bit-offtopic-Redirect-special-seaside-request-to-a-different-VM-tp4731000p4731018.html
Sent from the GLASS mailing list archive at Nabble.com.


More information about the Glass mailing list