рдирдорд╕реНрддреЗ !
рд╣рдо рдкреАрдбреАрдПрдл рдореЗрдВ рдПрдХ рд▓рдВрдмреА рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд▓рдЧрднрдЧ 3 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЗрд╕реЗ рдкреНрд▓рдореНрдмрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред
HTTP рдХрдиреЗрдХреНрд╢рди рд▓рдЧрднрдЧ 1 рдорд┐рдирдЯ 40 рд╕реЗрдХрдВрдб (100 рд╕реЗрдХрдВрдб) рдХреЗ рдХрд░реАрдм рд╣реИред
рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд▓рдВрдмрд░ рдмрдВрдж рдХрдиреЗрдХреНрд╢рди рдкрд░ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ:
ERROR: [on_request_read] connection reset by peer
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ #12 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡реИрд╕реЗ https://github.com/rstudio/httpuv/issues/49
рдкреНрд▓рдВрдмрд░ рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдкреНрд▓рдореНрдмрд░ рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХреБрдЫ рднреЗрдЬрдХрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
Keep-Alive: timeout=300
Connection: Keep-Alive
рд▓реЗрдХрд┐рди рд╣рд░ рд╣рд╛рд▓ рдореЗрдВ рд╣рдо #12 . рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рд╕рд╛рджрд░,
рдПрдореНрдорд╛рдиреБрдПрд▓
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ httpuv рдХреЗ рдЗрдВрдЯрд░реНрдирд▓ рд╕реЗ рдЗрддрдирд╛ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдореИрдВ рд╕рдордЭрджрд╛рд░реА рд╕реЗ рдмреЛрд▓ рд╕рдХреВрдВ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдХрджрдо рдкреАрдЫреЗ рд╣рдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рддреЗ рд╕рдордп рд╕рд╛рдорд╛рдиреНрдп рдкреИрдЯрд░реНрди рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рддреБрд░рдВрдд рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдХрд╛рдо рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдореВрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдХреБрдЫ рдЖрдИрдбреА рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдм рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЖрд░ рд╕рд┐рдВрдЧрд▓ рдереНрд░реЗрдбреЗрдб рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдереЛрдбрд╝рд╛ рдФрд░ рдЬрдЯрд┐рд▓ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдереЗ рддреЛ рдЖрдк рдЖрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ fork
рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (рд╕рдорд╛рдирд╛рдВрддрд░ рдпрд╛ рдорд▓реНрдЯреАрдХреЛрд░ рдкреИрдХреЗрдЬ рджреЗрдЦреЗрдВ) рдФрд░ рдлрд┐рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдПрдХ рдХрд╛рдВрдЯреЗ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛред (рдЬреИрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдЬреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреА рд░рд┐рдкреЛрд░реНрдЯ рдЬрдирд░реЗрдЯ рд╣реБрдИ рд╣реИ рдпрд╛ рдирд╣реАрдВ)ред
рдирдорд╕реНрддреЗ,
рдпрд╣рд╛рдВ, рд╣рдордиреЗ рдЕрдкрдиреЗ рдЖрд░ рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреА рд╣реИред рдЕрдЧрд░ рдореБрдЭреЗ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рддреЛ рдореИрдВ рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реВрдВрдЧрд╛ред
рдмрд╕ рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдореБрджреНрджрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ: fork
рдЖрдИрдПрдирдЬреА рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ parallel
рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
parallel <- function() {
# Long running calculation here
print("Sleeping...")
Sys.sleep(10)
print("Finished.")
return(Sys.time())
}
#* <strong i="8">@get</strong> /parallel
parallelTest <- function() {
parallel::mcparallel(parallel())
return(TRUE)
}
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдмрд╕ рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдореБрджреНрджрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ:
fork
рдЖрдИрдПрдирдЬреА рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗparallel
рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред