summaryrefslogtreecommitdiffstats
path: root/_build/static/archives/extend/2013-September/000240.html
blob: a5c5c8b35d18c6f9efddbe45577d455012114257 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
 <HEAD>
   <TITLE> [99s-extend] timeouts and slow clients in cowboy loop handler
   </TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeouts%20and%20slow%20clients%20in%20cowboy%20loop%20handler&In-Reply-To=%3C523C9A5F.3080805%40ninenines.eu%3E">
   <META NAME="robots" CONTENT="index,nofollow">
   <style type="text/css">
       pre {
           white-space: pre-wrap;       /* css-2.1, curent FF, Opera, Safari */
           }
   </style>
   <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
   <LINK REL="Previous"  HREF="000239.html">
   <LINK REL="Next"  HREF="000241.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[99s-extend] timeouts and slow clients in cowboy loop handler</H1>
    <B>Lo&#239;c Hoguin</B> 
    <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeouts%20and%20slow%20clients%20in%20cowboy%20loop%20handler&In-Reply-To=%3C523C9A5F.3080805%40ninenines.eu%3E"
       TITLE="[99s-extend] timeouts and slow clients in cowboy loop handler">essen at ninenines.eu
       </A><BR>
    <I>Fri Sep 20 20:56:31 CEST 2013</I>
    <P><UL>
        <LI>Previous message: <A HREF="000239.html">[99s-extend] timeouts and slow clients in cowboy loop handler
</A></li>
        <LI>Next message: <A HREF="000241.html">[99s-extend] timeouts and slow clients in cowboy loop handler
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#240">[ date ]</a>
              <a href="thread.html#240">[ thread ]</a>
              <a href="subject.html#240">[ subject ]</a>
              <a href="author.html#240">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>chunk only returns when the client has received the chunk, so the 
timestamps solution should work.

As for the timeout, you can simply use erlang:send_after or something 
like usual and the message will arrive in info/3.

On 09/20/2013 08:54 PM, akonsu wrote:
&gt;<i> thanks!
</I>&gt;<i>
</I>&gt;<i> how to implement timeout callback manually? if I had receive then I
</I>&gt;<i> would just use timeout clause there, but with the handler I do not know...
</I>&gt;<i>
</I>&gt;<i> I have doubts about validity of my question on the erlang list.  I later
</I>&gt;<i> realised that there is no problem receiving messages in my handler from
</I>&gt;<i> my upstream process, I can do it fast enough and shove everything to the
</I>&gt;<i> response. my real problem is to determine if the http client is reading
</I>&gt;<i> fast enough from the response...
</I>&gt;<i>
</I>&gt;<i>
</I>&gt;<i> 2013/9/20 Lo&#239;c Hoguin &lt;<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> &lt;mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>&gt;&gt;
</I>&gt;<i>
</I>&gt;<i>     Loop handlers close after a while regardless of what you send, it
</I>&gt;<i>     only checks what the client sends. The best way for you would be to
</I>&gt;<i>     disable that timeout and handle it manually.
</I>&gt;<i>
</I>&gt;<i>     As for the second question, I'm still reading the thread on
</I>&gt;<i>     erlang-questions but I've seen some good ideas about timestamps so far.
</I>&gt;<i>
</I>&gt;<i>
</I>&gt;<i>     On 09/20/2013 08:47 PM, akonsu wrote:
</I>&gt;<i>
</I>&gt;<i>         Hi,
</I>&gt;<i>
</I>&gt;<i>         I am using loop handler and I stream from it:
</I>&gt;<i>
</I>&gt;<i>         info({stream, Part}, Req, S) -&gt;
</I>&gt;<i>               ok = cowboy_req:chunk(Part, Req),
</I>&gt;<i>               {loop, Req, S, hibernate};
</I>&gt;<i>
</I>&gt;<i>         I have two questions:
</I>&gt;<i>
</I>&gt;<i>         1. on timeouts cowboy sends 204 No Content. In my case it is not the
</I>&gt;<i>         right response because I may have already sent some data. Is
</I>&gt;<i>         there a way
</I>&gt;<i>         to send a custom response?
</I>&gt;<i>
</I>&gt;<i>         2. how to check if the client is too slow and is not reading the
</I>&gt;<i>         response stream fast enough? If this happens, then I need to
</I>&gt;<i>         disconnect.
</I>&gt;<i>
</I>&gt;<i>         I can live without 1. but I need to figure out 2. Please help.
</I>&gt;<i>
</I>&gt;<i>         thank you!
</I>&gt;<i>         Konstantin
</I>&gt;<i>
</I>&gt;<i>
</I>&gt;<i>
</I>&gt;<i>         _________________________________________________
</I>&gt;<i>         Extend mailing list
</I>&gt;<i>         <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> &lt;mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>&gt;
</I>&gt;<i>         <A HREF="http://lists.ninenines.eu:81/__listinfo/extend">http://lists.ninenines.eu:81/__listinfo/extend</A>
</I>&gt;<i>         &lt;<A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>&gt;
</I>&gt;<i>
</I>&gt;<i>
</I>&gt;<i>
</I>&gt;<i>     --
</I>&gt;<i>     Lo&#271;c Hoguin
</I>&gt;<i>     Erlang Cowboy
</I>&gt;<i>     Nine Nines
</I>&gt;<i>     <A HREF="http://ninenines.eu">http://ninenines.eu</A>
</I>&gt;<i>
</I>&gt;<i>
</I>

-- 
Lo&#239;c Hoguin
Erlang Cowboy
Nine Nines
<A HREF="http://ninenines.eu">http://ninenines.eu</A>

</PRE>

<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI>Previous message: <A HREF="000239.html">[99s-extend] timeouts and slow clients in cowboy loop handler
</A></li>
	<LI>Next message: <A HREF="000241.html">[99s-extend] timeouts and slow clients in cowboy loop handler
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#240">[ date ]</a>
              <a href="thread.html#240">[ thread ]</a>
              <a href="subject.html#240">[ subject ]</a>
              <a href="author.html#240">[ author ]</a>
         </LI>
       </UL>

<hr>
<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
mailing list</a><br>
</body></html>