Quartznet: .NET рдХреЛрд░ рдпрд╛ vNext рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рдЕрдкреНрд░реИрд▓ 2016  ┬╖  45рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: quartznet/quartznet

рдирдорд╕реНрддреЗ,

рдХреНрдпрд╛ .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ? рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдирдорд╕реНрддреЗ @lahma , рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА .NET рдЧреНрд░рд╛рд╣рдХ рд╕рдлрд▓рддрд╛ рдЯреАрдо рдХрд╛ рд╕рджрд╕реНрдп рд╣реВрдВред рдореЗрд░реА рдЯреАрдо рдЬрд┐рди рдЪреАрдЬреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧреА рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА .NET рдХреЛрд░ рдФрд░ .NET рдорд╛рдирдХ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рдЗрд╕рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ .NET Core рдкрд░ Quartz.Net рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред

рдореИрдВрдиреЗ рдПрдХ рдХрд╛рдВрдЯреЗрджрд╛рд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рдХреБрдЫ рдореЛрдЯрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, рдпрд╣рд╛рдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИ рдЬреЛ рдЙрдмрдВрдЯреВ рдкрд░ рдЪрд▓ рд░рд╣реЗ SQL рд╕рд░реНрд╡рд░ рдЬреЙрдм рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ:
Quartz.Net on Ubuntu

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рджреЗрдЦрд╛, .NET Core рдореЗрдВ рдХрдИ рдЪреАрдЬреЗрдВ рдЧрд╛рдпрдм рдпрд╛ рдмрджрд▓реА рд╣реБрдИ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рд╛ рдХрд╛рдо рдмрд╛рдХреА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдХрд╛рдо рд╣реЛрдЧрд╛:

  • рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИред Quartz.Net рдореЗрдВ рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд╕реАрдзрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рдВрднрд╡рддрдГ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕рдХреЗ рд▓рд┐рдП рджреВрд░рд╕реНрде рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рдЙрдЪрд┐рдд рдкреБрдирд░реНрд▓реЗрдЦрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
  • System.Net.Mail рдЙрдкрдпреЛрдЧ рдХреЛ рдХрд┐рд╕реА рддреГрддреАрдп-рдкрдХреНрд╖ рд╡рд┐рдХрд▓реНрдк рдЬреИрд╕реЗ MailKit . рд╕реЗ рдмрджрд▓реЗрдВ
  • рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХреАрдХрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ рдирдИ .NET рдорд╛рдирдХ-рдЕрдиреБрдкрд╛рд▓рдХ dbproviders.properties рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рд╣реИ рдЬреЛ SQL рд╕рд░реНрд╡рд░ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИред рд╣рдореЗрдВ SQLite рдФрд░ PostgreSQL рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдп рдЕрднреА рддрдХ .NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рдЬрд▓реНрдж рд╣реА рдЖрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред
  • рдЕрдм рддрдХ рдореЗрд░реЗ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдлрд╝ рдХрд░реЗрдВред рдореИрдВрдиреЗ SimpleThreadPool рдХреЛ .NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддреНрд╡рд░рд┐рдд рдмрджрд▓рд╛рд╡ рдХрд┐рдП рд╣реИрдВ (рдЪреВрдВрдХрд┐ CLRTreadPool рд╡рд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛), рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдЪрд┐рдд .NET рдХреЛрд░-рдЕрдиреБрдкрд╛рд▓рди IThreadPool рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдмрдЧреЛрдВ рдХреЛ рджреВрд░ рдХрд░реЗрдВред

рдпрд╣рд╛рдВ рдХреНрд╡рд╛рд░реНрдЯрдЬрдиреЗрдЯ/рдХреНрд╡рд╛рд░реНрдЯреНрдЬрдиреЗрдЯ -3 рдФрд░ рдореЗрд░реА рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдЦрд╛ рдХреЗ рдмреАрдЪ рдПрдХ рдЕрдВрддрд░ рд╣реИред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рдпрд╛ рддреЛ рдХреНрд░рдорд╛рдВрдХрди рдкрд░рд┐рд╡рд░реНрддрди, рд╡рд┐рд╡рд┐рдз рдПрдкреАрдЖрдИ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди, рдпрд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ (рдЬреИрд╕реЗ рд░рд┐рдореЛрдЯрд┐рдВрдЧ) рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдЙрди рд╕рднреА 'рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд╛рдо' рд╕реНрдерд╛рдиреЛрдВ рдХреЛ "TODO (рдиреЗрдЯрдХреЛрд░ рдкреЛрд░реНрдЯ)" рдпреБрдХреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдкрд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ? рдЕрдВрддрддрдГ Quartz.Net рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдФрд░ рдбреНрд░рд╛рдЗрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕реЗ .NET рдХреЛрд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛ рд░рд╣реА рд╣реИред

рд╕рднреА 45 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рд╣реИрдВ рд▓реЗрдХрд┐рди RC2 рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдордп рдЪреАрдЬреЗрдВ рдХрд╛рдлреА рдЕрд╕реНрдерд┐рд░ рд▓рдЧ рд░рд╣реА рд╣реИрдВред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ v3 рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рд╕реАрдорд┐рдд рд╕рдорд░реНрдерди рд╣реЛрдЧрд╛ред

рддреНрд╡рд░рд┐рдд рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╣рдорд╛рд░реЗ рдЬреИрд╕реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдФрд░ рдХрдИ рдЕрдиреНрдп) Quartz.NET рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ Quartz.NET рдПрдХ рдврд╛рдВрдЪрд╛ рд╣реИ (рд╡реЗрдм тАЛтАЛрдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд), рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХреЛ .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦрдирд╛ рд░реЛрдорд╛рдВрдЪрдХ рд╣реЛрдЧрд╛ред

рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХреЗ рдмрд┐рдирд╛, рдХрдИ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдЬреИрд╕реЗ рд╣рдорд╛рд░реЗ) рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред v3 рдХреЗ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рдХрд╛ рдмреЗрд╕рдмреНрд░реА рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рд╣реИ рдФрд░ рд╣рдо рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВред

рдирдорд╕реНрддреЗ @lahma , рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА .NET рдЧреНрд░рд╛рд╣рдХ рд╕рдлрд▓рддрд╛ рдЯреАрдо рдХрд╛ рд╕рджрд╕реНрдп рд╣реВрдВред рдореЗрд░реА рдЯреАрдо рдЬрд┐рди рдЪреАрдЬреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧреА рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА .NET рдХреЛрд░ рдФрд░ .NET рдорд╛рдирдХ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рдЗрд╕рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ .NET Core рдкрд░ Quartz.Net рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред

рдореИрдВрдиреЗ рдПрдХ рдХрд╛рдВрдЯреЗрджрд╛рд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рдХреБрдЫ рдореЛрдЯрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, рдпрд╣рд╛рдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИ рдЬреЛ рдЙрдмрдВрдЯреВ рдкрд░ рдЪрд▓ рд░рд╣реЗ SQL рд╕рд░реНрд╡рд░ рдЬреЙрдм рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ:
Quartz.Net on Ubuntu

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рджреЗрдЦрд╛, .NET Core рдореЗрдВ рдХрдИ рдЪреАрдЬреЗрдВ рдЧрд╛рдпрдм рдпрд╛ рдмрджрд▓реА рд╣реБрдИ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рд╛ рдХрд╛рдо рдмрд╛рдХреА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдХрд╛рдо рд╣реЛрдЧрд╛:

  • рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИред Quartz.Net рдореЗрдВ рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд╕реАрдзрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рдВрднрд╡рддрдГ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕рдХреЗ рд▓рд┐рдП рджреВрд░рд╕реНрде рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рдЙрдЪрд┐рдд рдкреБрдирд░реНрд▓реЗрдЦрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
  • System.Net.Mail рдЙрдкрдпреЛрдЧ рдХреЛ рдХрд┐рд╕реА рддреГрддреАрдп-рдкрдХреНрд╖ рд╡рд┐рдХрд▓реНрдк рдЬреИрд╕реЗ MailKit . рд╕реЗ рдмрджрд▓реЗрдВ
  • рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХреАрдХрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ рдирдИ .NET рдорд╛рдирдХ-рдЕрдиреБрдкрд╛рд▓рдХ dbproviders.properties рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рд╣реИ рдЬреЛ SQL рд╕рд░реНрд╡рд░ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИред рд╣рдореЗрдВ SQLite рдФрд░ PostgreSQL рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдп рдЕрднреА рддрдХ .NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рдЬрд▓реНрдж рд╣реА рдЖрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред
  • рдЕрдм рддрдХ рдореЗрд░реЗ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдлрд╝ рдХрд░реЗрдВред рдореИрдВрдиреЗ SimpleThreadPool рдХреЛ .NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддреНрд╡рд░рд┐рдд рдмрджрд▓рд╛рд╡ рдХрд┐рдП рд╣реИрдВ (рдЪреВрдВрдХрд┐ CLRTreadPool рд╡рд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛), рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдЪрд┐рдд .NET рдХреЛрд░-рдЕрдиреБрдкрд╛рд▓рди IThreadPool рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдмрдЧреЛрдВ рдХреЛ рджреВрд░ рдХрд░реЗрдВред

рдпрд╣рд╛рдВ рдХреНрд╡рд╛рд░реНрдЯрдЬрдиреЗрдЯ/рдХреНрд╡рд╛рд░реНрдЯреНрдЬрдиреЗрдЯ -3 рдФрд░ рдореЗрд░реА рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдЦрд╛ рдХреЗ рдмреАрдЪ рдПрдХ рдЕрдВрддрд░ рд╣реИред рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рдпрд╛ рддреЛ рдХреНрд░рдорд╛рдВрдХрди рдкрд░рд┐рд╡рд░реНрддрди, рд╡рд┐рд╡рд┐рдз рдПрдкреАрдЖрдИ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди, рдпрд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ (рдЬреИрд╕реЗ рд░рд┐рдореЛрдЯрд┐рдВрдЧ) рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдЙрди рд╕рднреА 'рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд╛рдо' рд╕реНрдерд╛рдиреЛрдВ рдХреЛ "TODO (рдиреЗрдЯрдХреЛрд░ рдкреЛрд░реНрдЯ)" рдпреБрдХреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдкрд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ? рдЕрдВрддрддрдГ Quartz.Net рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдФрд░ рдбреНрд░рд╛рдЗрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕реЗ .NET рдХреЛрд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛ рд░рд╣реА рд╣реИред

@mjrousos , рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬрдм Microsoft рдХрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЖрддрд╛ рд╣реИ рдФрд░ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИ рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХрд╛ рдЖрднрд╛рд░реА рд╣реВрдВ рдФрд░ рдЖрдкрдХреЛ рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реБрдИред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдмрдзрд╛рдИ!

рдзрдиреНрдпрд╡рд╛рдж, @рдлреНрд░реИрдкрд┐рдбред рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдврд╛рдБрдЪреЗ рдореЗрдВ рд╣реБрдП рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓реЗрдХрд░ рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдБ рдФрд░ .NET рдХреЛрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдкрд╛рдХрд░ рдореИрдВ рдмрд╣реБрдд рдЦреБрд╢ рд╣реВрдБред

рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╡рд┐рд╖рдп рдкрд░, рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИред рдпрд╣ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдерд╛ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ HTTP рдЖрдзрд╛рд░рд┐рдд рдПрдкреАрдЖрдИ рдХреЗ рдмрдЬрд╛рдп рдмрд╣реБрдд рдХреБрдЫ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдПрдХ рдирд┐рдЧрд░рд╛рдиреА рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдкрд░ рдмрд╛рдЗрдирд░реА рдирд┐рд░реНрднрд░рддрд╛ рд▓реЗрдирд╛ рдЕрд╕рд╣рдЬ рдерд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рд╣реЛрдирд╛ рд╕рдордЭрджрд╛рд░реА рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдХреЛ рдирд╣реАрдВ рд▓рдЧрддрд╛?

@mjrousos рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ! рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕рдореЗрдВ рд░реБрдЪрд┐ рд▓реА рд╣реИ рдФрд░ рдорджрдж рдХреА рд╣реИред рдореИрдВ рдЖрдкрдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦреВрдВрдЧрд╛ рдФрд░ рдЙрдирд╕реЗ рд╕реАрдЦреВрдВрдЧрд╛ рдФрд░ рдХреБрдЫ рдФрд░ рдкреНрд░рд╢реНрди рдкреВрдЫреВрдВрдЧрд╛ред рдореЗрд░рд╛ рд╕рд░рд╕рд░реА рдирд┐рдЧрд╛рд╣ рдерд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред

рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рдЬреЛ рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рдирдХрд╛ рдорд╣рддреНрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

  • рдореИрдВ рдЗрд╕реЗ рдмрд╛рдж рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬрд▓реНрдж рд╣реА v3 рд╢рд╛рдЦрд╛ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, @danielmarbach async рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╕рдВрднрд╡рдд: рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдВрдЧреЗ рдФрд░ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
  • рд╡реЗрдм рдПрдкреАрдЖрдИ рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ.рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЕрдм рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ - рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХреЛ рд╢рд╛рдпрдж v3 рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  • SendMailJob рдореЗрдВ System.Net.Mail рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдиреМрдХрд░реА рд╣реИ рдЬрд┐рд╕реЗ рдХреЛрд░ рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЙрдкрднреЛрдХреНрддрд╛ рдкрдХреНрд╖ рдкрд░ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  • рдмрд╛рдЗрдирд░реА рдХреНрд░рдорд╛рдВрдХрди рдпрд╣рд╛рдВ рдПрдХ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ рд╣реЛрдЧрд╛, v2 рдбреЗрдЯрд╛ рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реИ рдФрд░ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди (рдмрд╛рдЗрдирд░реА рд╕реЗ JSON) рдЦреБрдж рдХреЛ рдореБрд╢реНрдХрд┐рд▓ рд╕рд╛рдмрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ

    • рдмрд╕ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдореЗрд░реА рддрд░рдл рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд▓рдХреНрд╖реНрдп рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЯрд╛рдЗрдо-рдмреЙрдХреНрд╕ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк 'рд╡рд┐рд▓рдп рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░' рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ? рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╕рднреА рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдФрд░ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рд╣рдЬ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реАрдорд┐рдд рд╣реИрдВред

рдФрд░ рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдореИрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрднрд╛рд░реА рд╣реВрдВ рдФрд░ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред рдореБрдЭреЗ RC2 рдХреЗ рд╕рд╛рде рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рдмреЗрд╢реБрдорд╛рд░ рдШрдВрдЯреЗ рд▓рдЧреЗ рд╣реЛрдВрдЧреЗ (RC1 рдХреЗ рд╕рд╛рде рдореИрдВрдиреЗ рдХреБрдЫ рд▓рдбрд╝рд╛рдИ рдХреЗ рдмрд╛рдж рд╣рд╛рд░ рдорд╛рди рд▓реА)ред

рдЪреАрдЬреЛрдВ рдХреЛ v3 рд╢рд╛рдЦрд╛ (рдпрд╛ рд╕рдВрднрд╡рддрдГ рдПрдХ рдХреНрд╡рд╛рд░реНрдЯрдЬрдиреЗрдЯ рд╢рд╛рдЦрд╛ рд╕реЗ рдмрдВрдж) рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рдирд╛ рддрд╛рдХрд┐ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХреЗрдВ рдХрд┐ рдЪреАрдЬреЗрдВ рдПрд╕рд┐рдВрдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдХрд┐ рдореВрд▓ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ.рдПрд╕рдПрд▓рдПрди рд╕рдорд╛рдзрд╛рди рдЕрднреА рднреА рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдмрдиреЗрдЧрд╛ рдФрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕реЗ рдорд░реНрдЬ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдЦрд┐рд░рдХрд╛рд░, рд╕рдм рдХреБрдЫ рд╕реАрдзреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ.рдЬреЗрд╕рди рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдмрдиреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рдкреБрд░рд╛рдиреА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╣рдо рд╕рдм рдХреБрдЫ рдЦрддреНрдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рд░рд┐рдореЛрдЯрд┐рдВрдЧ (рдФрд░ рдХреБрдЫ рд╣рдж рддрдХ, рдореЗрд▓) рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рд╕реЗ рдкреЛрд░реНрдЯ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рдХрд┐ рд╡реЗрдм рдПрдкреАрдЖрдИ рдкреНрд▓рдЧрдЗрди рдпрд╛ рдореЗрд▓рдХрд┐рдЯ рдкреНрд▓рдЧрдЗрди рдмрд╛рдж рдореЗрдВ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рд╣реИрдВ рдХрд┐ рдирдП рдореЙрдбрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдФрд░ рдереНрд░реЗрдбрд┐рдВрдЧ рдХреЛ рджреЛ рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдмрд╛рдЗрдирд░реА рдлреЙрд░реНрдореЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХреНрд░рдордмрджреНрдз рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХрд╛рдо рдХреЗ .NET рдХреЛрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ -

  1. рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ.рдиреЗрдЯ рдХрд╛ рдирдпрд╛ .NET рдХреЛрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдбреЗрдЯрд╛рдмреЗрд╕ред
  2. рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкреВрд░реНрдг рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ Json рдХреНрд░рдорд╛рдВрдХрди рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк Quartz.Net рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝реА рдЬрд╛ рд╕рдХреЗред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╛рдЗрдирд░реА рдХреНрд░рдорд╛рдВрдХрди рдЪреБрдирддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдЖрдХрд╛рд░ рдХреЗ рд▓рд╛рдн (рдФрд░ рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛) рдорд┐рд▓реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╡реЗ рдЬреЛрдВрд╕ рдХреНрд░рдорд╛рдВрдХрди рдЪреБрдирддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ.рдиреЗрдЯ рдХреЗ .NET рдХреЛрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
  3. рдпрджрд┐ рдирдП .NET Core Quartz.Net рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреА рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдорд╛рдВрдЧ рд╣реИ, рддреЛ рдПрдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдбреЗрд╕реНрдХрдЯреЙрдк .NET рдЙрдкрдХрд░рдг рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдореЗрдВ рдЙрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╕реЛрдЪрдирд╛ рд╣реЛрдЧрд╛ред

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рдордп рдХреА рдХрдореА рд╣реИ, рдореИрдВ рд╕рдВрднрд╡рдд: рдХрдо рд╕реЗ рдХрдо рдЕрдЧрд▓реЗ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЖрдзрд╛ рдпрд╛ рдЕрдзрд┐рдХ рд╕рдордп рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рджреЗ рд╕рдХреВрдВрдЧрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реЛрдВрдЧреА рдЬрд┐рди рдкрд░ рдореЗрд░рд╛ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдкреЛрд░реНрдЯ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рддрдХ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдХреБрдЫ рдШрдВрдЯреЗ Quartz.Net рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрд╣рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рд╣реИрдВ рдХрд┐ рдЬрд▓реНрдж рд╣реА рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреНрд╡рд╛рд░реНрдЯреНрдЬ.рдиреЗрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рддреА рд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред

рд╕рд╛рде рд╣реА, рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдореЗрд░реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВред рдЕрдЧрд░ рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛, рддреЛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЛрди рдХреЙрд▓ рд╕реЗрдЯрдЕрдк рдХрд░рдХреЗ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдк рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдореЗрд░реЗ GitHub рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЗрд░рд╛ рдИрдореЗрд▓ рдкрддрд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд░рдордмрджреНрдзрддрд╛ рднреА рдХреНрдпреЛрдВ рд╣реИ? рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЛрд░ рдореЗрдВ рдЕрдореВрд░реНрддрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝рд░ рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред

рдкреВрд░реНрд╡рд╛рд╣реНрди реирен.режрек.реирежрезрем um резрен:рекрео schrieb рдорд╛рдЗрдХ рд░реВрд╕реЛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com :

рдЪреАрдЬреЛрдВ рдХреЛ v3 рд╢рд╛рдЦрд╛ (рдпрд╛ рд╕рдВрднрд╡рддрдГ рдПрдХ рдХреНрд╡рд╛рд░реНрдЯрдЬрдиреЗрдЯ рд╢рд╛рдЦрд╛ рд╕реЗ рдмрдВрдж) рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рдирд╛ рддрд╛рдХрд┐ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХреЗрдВ рдХрд┐ рдЪреАрдЬреЗрдВ рдПрд╕рд┐рдВрдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдХрд┐ рдореВрд▓ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ.рдПрд╕рдПрд▓рдПрди рд╕рдорд╛рдзрд╛рди рдЕрднреА рднреА рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдмрдиреЗрдЧрд╛ рдФрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕реЗ рдорд░реНрдЬ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдЦрд┐рд░рдХрд╛рд░, рд╕рдм рдХреБрдЫ рд╕реАрдзреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ.рдЬреЗрд╕рди рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдмрдиреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рдкреБрд░рд╛рдиреА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╣рдо рд╕рдм рдХреБрдЫ рдЦрддреНрдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рд░рд┐рдореЛрдЯрд┐рдВрдЧ (рдФрд░ рдХреБрдЫ рд╣рдж рддрдХ, рдореЗрд▓) рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рд╕реЗ рдкреЛрд░реНрдЯ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рдХрд┐ рд╡реЗрдм рдПрдкреАрдЖрдИ рдкреНрд▓рдЧрдЗрди рдпрд╛ рдореЗрд▓рдХрд┐рдЯ рдкреНрд▓рдЧрдЗрди рдмрд╛рдж рдореЗрдВ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рд╣реИрдВ рдХрд┐ рдирдП рдореЙрдбрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рдФрд░ рдереНрд░реЗрдбрд┐рдВрдЧ рдХреЛ рджреЛ рдореБрдЦреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдмрд╛рдЗрдирд░реА рдлреЙрд░реНрдореЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХреНрд░рдордмрджреНрдз рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХрд╛рдо рдХреЗ .NET рдХреЛрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ -

рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ.рдиреЗрдЯ рдХрд╛ рдирдпрд╛ .NET рдХреЛрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдбреЗрдЯрд╛рдмреЗрд╕ред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкреВрд░реНрдг рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ Json рдХреНрд░рдорд╛рдВрдХрди рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк Quartz.Net рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝реА рдЬрд╛ рд╕рдХреЗред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╛рдЗрдирд░реА рдХреНрд░рдорд╛рдВрдХрди рдЪреБрдирддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдЖрдХрд╛рд░ рдХреЗ рд▓рд╛рдн (рдФрд░ рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛) рдорд┐рд▓реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╡реЗ рдЬреЛрдВрд╕ рдХреНрд░рдорд╛рдВрдХрди рдЪреБрдирддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ.рдиреЗрдЯ рдХреЗ .NET рдХреЛрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
рдпрджрд┐ рдирдП .NET Core Quartz.Net рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреА рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдорд╛рдВрдЧ рд╣реИ, рддреЛ рдПрдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдбреЗрд╕реНрдХрдЯреЙрдк .NET рдЙрдкрдХрд░рдг рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдореЗрдВ рдЙрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╕реЛрдЪрдирд╛ рд╣реЛрдЧрд╛ред
рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рдордп рдХреА рдХрдореА рд╣реИ, рдореИрдВ рд╕рдВрднрд╡рдд: рдХрдо рд╕реЗ рдХрдо рдЕрдЧрд▓реЗ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЖрдзрд╛ рдпрд╛ рдЕрдзрд┐рдХ рд╕рдордп рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рджреЗ рд╕рдХреВрдВрдЧрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реЛрдВрдЧреА рдЬрд┐рди рдкрд░ рдореЗрд░рд╛ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдкреЛрд░реНрдЯ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рддрдХ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдХреБрдЫ рдШрдВрдЯреЗ Quartz.Net рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрд╣рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рд╣реИрдВ рдХрд┐ рдЬрд▓реНрдж рд╣реА рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреНрд╡рд╛рд░реНрдЯреНрдЬ.рдиреЗрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рддреА рд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред

рд╕рд╛рде рд╣реА, рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдореЗрд░реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВред рдЕрдЧрд░ рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛, рддреЛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЛрди рдХреЙрд▓ рд╕реЗрдЯрдЕрдк рдХрд░рдХреЗ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдк рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдореЗрд░реЗ GitHub рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЗрд░рд╛ рдИрдореЗрд▓ рдкрддрд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

рдореИрдВрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдпрд╛: #359 ред рдореИрдВрдиреЗ рдХреБрдЫ рд╕рд╛рдорд╛рди рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬреИрд╕реЗ рд╡реЗ рдЖрдП, рджреВрд╕рд░реА/рддреАрд╕рд░реА рдмрд╛рд░ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЛ рджреЗрдЦрдиреЗ рдкрд░ рджреЛрд╣рд░рд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ред рдЭрдВрдХрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдореЗрд░реА рд░реИрдВрдмрд▓рд┐рдВрдЧ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рд▓реЛрдХрди:

  • рд╣рдо рд╢рд╛рдпрдж рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд╛рдВрдХрди рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
  • рд░рд┐рдореЛрдЯрд┐рдВрдЧ рднрд╛рдЧреЛрдВ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, REST'ish рд╡реЗрдм рдПрдкреАрдЖрдИ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  • рдмрд╣реБрдд рд╕рд╛рд░реА рдбреЗрдЯрд╛рдореЗрдореНрдмрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ .. рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдирд┐рдЬреА рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдо Json.NET рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  • рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реА рд╕рдореАрдХреНрд╖рд╛ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ @danielmarbach рдиреЗ рдпрд╣рд╛рдВ рднреА рдХрд┐рдпрд╛ рдерд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдХреНрд░рдорд╛рдВрдХрди рд░рдгрдиреАрддрд┐ рдЪрдпрди рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд╣рд╛рдВ рдПрдХ рд╕реВрдЪрд┐рдд рдирд┐рд░реНрдгрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
  • рдирдпрд╛ SimpleThreadPool рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рдмрдбрд╝реА рдЕрдиреБрдкрд▓рдмреНрдз рдХрдбрд╝реА рд╣реИ (рдирд┐рдпрдВрддреНрд░рдгреАрдп рдереНрд░реЗрдб рдХрд╛рдЙрдВрдЯ, рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдЖрджрд┐)

рд╣рдо рдЪрд┐рдВрддрд╛рдЬрдирдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рдмрд╛рдж рдХреЗ рдЪрд░рдг рдореЗрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕ рднреВрдорд┐ рдХреЛ рд╢реАрдШреНрд░ рд╣реА v3 рд╢рд╛рдЦрд╛ рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо! :+1:

рдорд╣рд╛рди; рдзрдиреНрдпрд╡рд╛рдж, @ рд▓рд╣рдорд╛ред рдореИрдВ рдкреАрдЖрд░ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реВрдВрдЧрд╛ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛ред рдФрд░ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдХреНрд░рдордмрджреНрдзрддрд╛ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд╣ рдЪреБрдирдирд╛ рд╣реИ рдЬреЛ рд╡реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдПрдХ рдФрд░ рдмрд╛рдд рдЬреЛ рдореИрдВ рдмрддрд╛рдирд╛ рднреВрд▓ рдЧрдпрд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ .NET Core RC2 рд▓рдХреНрд╖реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ RC2 SDK рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╣рдордиреЗ рдЕрднреА рддрдХ RC2 рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓рд┐рдВрдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХреА рд╣реИ (рдпрд╣ рдЬрд▓реНрдж рд╣реА рдЖрдиреА рдЪрд╛рд╣рд┐рдП), рдЗрд╕рд▓рд┐рдП рдлрд┐рд▓рд╣рд╛рд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди (рдбреЙрдЯрдиреЗрдЯ рд░рд┐рд╕реНрдЯреЛрд░, рдбреЙрдЯрдиреЗрдЯ рдмрд┐рд▓реНрдб, рдбреЙрдЯрдиреЗрдЯ рдкреИрдХ) рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо Quartz.net рдХрд╛ рдмреЗрд╕рдмреНрд░реА рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рдорд╛рдзрд╛рди рдХреЛ vNext рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирдЧреЗрдЯ рдореЗрдВ рдЕрд▓реНрдлрд╛ рдмрд┐рд▓реНрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд▓реЛрдЧ рдХрдо рд╕реЗ рдХрдо рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рдФрд░ рд╕рдВрдХрд▓рди рдХрд░ рд╕рдХреЗрдВ?

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдо рдЕрдЧрд▓реЗ рдХреБрдЫ рд╣рдлрд╝реНрддреЛрдВ рдореЗрдВ рдХреБрдЫ рдЕрд▓реНрдлрд╛ рдЧреБрдгрд╡рддреНрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдЯрд╛рдпрд░реЛрдВ рдХреЛ рдХрд┐рдХ рдХрд░ рд╕рдХреЗрдВред рдПрдкреАрдЖрдИ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рди рд╣реА рдХреЛрдИ рджреВрд░рд╕реНрде рдкреНрд░рдмрдВрдзрди рд╕рдорд░реНрдерди рд╣реЛрдЧрд╛ред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреВрд░рд╕реНрде рдкреНрд░рдмрдВрдзрди рдХреЛрд░рдХреНрд▓рд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рд░рд╣ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЗрд╕реЗ рдПрдорд╡реАрд╕реА рдРрдк рдХреЗ рд╕рд╛рде рд╕рд╛рдордиреЗ рд░рдЦрдХрд░ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдпрд╣ рдПрдХ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

IThreadPool рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЖрдкрдХреА рд░реБрдЪрд┐ рд╣реЛрдиреЗ рдкрд░ рд╡рд╛рдкрд╕ рдпреЛрдЧрджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдЗрд╕реЗ рдЕрдВрджрд░ рд▓рд╛рдУред рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реИрдиреНрдп рд╕реЗрд╡рд╛ рдореЗрдВ рд╣реИред рд▓рдЧрднрдЧ 2 рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВрдЧреЗ

30.04.2016 рдкреВрд░реНрд╡рд╛рд╣реНрди 13:12 рд╢реЙрди рдмреЗрдХрд░ рдЕрдзрд┐рд╕реВрдЪрдирд╛рдПрдВ @github.com :

IThreadPool рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЖрдкрдХреА рд░реБрдЪрд┐ рд╣реЛрдиреЗ рдкрд░ рд╡рд╛рдкрд╕ рдпреЛрдЧрджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

рдореЗрд░реЗ рдкрд╛рд╕ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ IThreadPool рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЪрд▓ рд░рд╣реЗ .NET рдХреЛрд░ рдкреАрдЖрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдХреЗрд╡рд▓ IThreadPool рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред @smbecker , @danielmarbach , рдХреГрдкрдпрд╛ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдРрд╕реА рдЪреАрдЬреЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА @mjrousos рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд╣рд▓реЗ рдмреИрдЪ рдореЗрдВ

рдореИрдВ рдЖрдЧреЗ рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдмрд┐рдЯреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдкреАрдУрд╕реА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

:+1:

рдкреВрд░реНрд╡рд╛рд╣реНрди режрей.режрел.реирежрезрем рдЙрдо режрем:релрей рд╢реНрд░рд╛рдЗрдм рдорд╛рд░реНрдХреЛ рд▓рд╛рд╣рдорд╛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com:

рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА @mjrousos рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд╣рд▓реЗ рдмреИрдЪ рдореЗрдВ

рдореИрдВ рдЖрдЧреЗ рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдмрд┐рдЯреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдкреАрдУрд╕реА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

рдзрдиреНрдпрд╡рд╛рдж, @ рд▓рд╣рдорд╛! рдЬрдм рдЖрдк рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдмрд┐рдЯреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ .NET рдХреЛрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рд╣реИрдВред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдПрдкреАрдЖрдИ рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдерд╛ рддрд╛рдХрд┐ рдПрдХ рдмрд╛рд░ рд░рд┐рдореЛрдЯ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрдпреВрд▓рд░ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдПрдХ ASP.NET рдХреЛрд░ IWebHost рдмрдирд╛рдП рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ (рдХреЗрд╕реНрдЯреНрд░реЗрд▓ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ред рдореИрдВрдиреЗ рд╢реБрд░реВ рдореЗрдВ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдЕрднреА рддрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдореЗрдВ рдХреЗрд╡рд▓ JSON рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдзрд┐ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг .NET Core RC2 'рд╕рд╛рдЭрд╛ рд╕реВрдЪреА' рдмрдирд╛рдИ рдЬреЛ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╕реВрдЪреА рд╣реИрдЬреЛ рджреВрд░рд╕реНрде рдорд╢реАрдиреЛрдВ рдХреЛ рд╕реВрдЪреА рдХреЛ рджреЗрдЦрдиреЗ/рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рдпрд╣рд╛рдВ (рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝) рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдЙрд╕ рдирдореВрдиреЗ рдХреЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЕрдВрд╢ рджрд┐рдП рдЧрдП рд╣реИрдВ:
рдореЗрд░реЗ рд╕рд░рд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ, IWebHost рдХреА рд╕реНрдерд╛рдкрдирд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

``` рд╕реА#
рд╣реЛрд╕реНрдЯ = рдирдпрд╛ рд╡реЗрдмрд╣реЛрд╕реНрдЯрдмрд┐рд▓реНрдбрд░ ()
.UseServer("Microsoft.AspNetCore.Server.Kestrel")
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ (рдРрдк =>
{
// рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рдбрд▓рд╡реЗрдпрд░ рдлрд╝рдВрдХреНрд╢рди
app.Use(async (HttpContext рдкреНрд░рд╕рдВрдЧ, Func .)рдЕрдЧрд▓рд╛) =>
{
рдЕрдЧрд░ (рд╕рдВрджрд░реНрднред рдЕрдиреБрд░реЛрдзред рдкрдеред рдорд╛рди == рдкрде && рд╕рдВрджрд░реНрднред рдЕрдиреБрд░реЛрдзред рд╕рд╛рдордЧреНрд░реА рд▓рдВрдмрд╛рдИ> 0)
{
// рдЕрдиреБрд░реЛрдз рдХреЗ рд╢рд░реАрд░ рдХреЛ рдПрдХ InvokeRequest рдСрдмреНрдЬреЗрдХреНрдЯ (рдПрдХ рд╡рд░реНрдЧ рдЬрд┐рд╕реЗ рд╣рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ) рдореЗрдВ рдбрд┐рд╕реЗрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ
InvokeRequest invokeRequest = рдбрд┐рдлрд╝реЙрд▓реНрдЯ (InvokeRequest);
InvokeRequest = (InvokeRequest)invokeRequestSerializer.ReadObject(context.Request.Body);

            object reply = null;
            // Try to dispatch the call
            if (Invoke(invokeRequest, ref reply))
            {
                // I used DCS in my prototype, but probably we should use JSON.NET since Quartz.Net already uses it elsewhere
                var replySerializer = new DataContractJsonSerializer(reply.GetType());
                using (var ms = new MemoryStream())
                {
                    replySerializer.WriteObject(ms, reply);
                    await context.Response.WriteAsync(new string(Encoding.UTF8.GetChars(ms.ToArray())));

                    // Halt the HTTP request processing pipeline
                    return;
                }
            }
        }
        await next();
    });
})
.Start(new[] { $"http://0.0.0.0:{port}" });
``` C#
private bool Invoke(InvokeRequest invokeRequest, ref object reply)
{
    // In my simple test, the methods that could be invoked were just simple APIs to manipulate a list.
    // In the real Quartz.Net product, we will need to support more methods. Because of that, it may make sense to just use reflection to build the list of APIs that can be called dynamically when the host starts.
    switch (invokeRequest.MethodName)
    {
        case "Add":
            Console.WriteLine("Invoking 'Add'");
            list.Add(invokeRequest.Arguments[0] as string);
            return false;
        case "GetEnumerator":
            Console.WriteLine("Invoking 'GetEnumerator'");
            reply = list.ToArray();
            return true;
        default:
            Console.WriteLine($"Unknown method: {invokeRequest.MethodName}");
            return false;
    }
}    

C# public struct InvokeRequest { public string MethodName { get; set; } public object[] Arguments { get; set; } }

рд░рд┐рдореЛрдЯ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╕реЗрдЯрдЕрдк рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ HttpClient рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдо рдФрд░ рднрд╛рд░реА рд╡рдЬрди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛, рдореИрдВ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХреЗ рджреВрд░рд╕реНрде рдкреНрд░рдмрдВрдзрди рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкрд░ рд░рдЦреВрдВрдЧрд╛ред рдпрд╛ рдХрдо рд╕реЗ рдХрдо, рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдмрджрд▓ рджреЗрдВред рдореИрдВ рд╣рдореЗрд╢рд╛ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЖрд░рдИрдПрд╕рдЯреА рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╡реИрд╕реЗ рднреА рд╕рд╛рдордиреЗ рд░рдЦрддрд╛ рд╣реВрдВред

рд╕рд╣рдордд, @smbeckerред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдкреБрд░рд╛рдиреА рд╢реИрд▓реА рдХреЗ рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЙрдЪрд┐рдд рдХреЛрдб рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрджрд┐ рд▓реЛрдЧ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреБрд░рд╛рдиреЗ Quartz.Net рдЙрддреНрдкрд╛рджреЛрдВ рд╕реЗ рднрд┐рдиреНрди рдХреЛрд░ рдкрд░ Quartz.Net рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рдпрд╣ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИред

@smbecker рдпрд╣ рд╕рдЪ рд╣реИ, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЯрд╛рдЗрдо рдмреЙрдХреНрд╕ рдХреБрдЫ рдЪреЗрдХ рдХрд░реЗ рдХрд┐ рдХреНрдпрд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рд░рд┐рдореЛрдЯ рд╢реЗрдбреНрдпреВрд▓рд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рд▓рдкреЗрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд╡реЗ рдХреБрдЫ рдЖрдЙрдЯ-рдСрдл-рдж-рдмреЙрдХреНрд╕ рд╣реЛрдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╡реИрд╕реЗ рднреА рдореБрдЭреЗ рд╢реБрд░реБрдЖрддреА рдмрд┐рд▓реНрдб рд╢рд┐рдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╢реЛ рд╕реНрдЯреЙрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХреА рдХрдореА рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИред рд╡реАрдПрд╕ рдЯреВрд▓реАрдВрдЧ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдкрд╣рд▓реЗ рдХреЛрд░ рд╕реЗ рдЕрдЪреНрдЫреА рд╣реЛрдЧреА: рдореБрд╕реНрдХрд╛рди:

@mjrousos рдореИрдВ рд╢реБрд░реВ рдореЗрдВ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдЗрдВрдЯрд░реНрдирд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЫрд┐рдкреЗ рд╣реБрдП рдЕрдиреБрдмрдВрдз рд╡рд░реНрдЧреЛрдВ (рдбреАрдЯреАрдУ рдкреНрд░рдХрд╛рд░) рдХреА рдУрд░ рдЭреБрдХрд╛рд╡ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдлрд┐рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдХреЛ рдХреЛрд░ (рдПрдЪрдЯреАрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдирд┐рд░реНрднрд░рддрд╛) рдореЗрдВ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд╛рдПрдЧрд╛, рдХрдЪреНрдЪреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдмреАрдЪ рдХреБрдЫ рдбреЗрдЯрд╛ рдФрд░ рд╡реЗрдм рдПрдкреАрдЖрдИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рднреА рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧ рд░рд╣рд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рдХреЛрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ ASP.NET рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛, рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛)ред рдпрджрд┐ рдЖрдк Quartz.Net рдореЗрдВ HttpClient рдирд┐рд░реНрднрд░рддрд╛ рднреА рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдорд╛рдирдХ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХ рдмрд╛рд▓ рдЕрдиреБрд╕реВрдЪрдХ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреБрдмрдВрдз рдбреАрдЯреАрдУ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдмрд╛рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ protected рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдЪрдЯреАрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдПрдЪрдЯреАрдЯреАрдкреА рд╕рд░реНрд╡рд░ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдмреЗрд╣рддрд░ рд▓реЗрдпрд░рд┐рдВрдЧ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдкреАрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░реНрд╡рд░ рдкреАрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ (рдпрджрд┐ рд╡реЗрдм рдПрдкреАрдЖрдИ рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рддрджрдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред рдпрджрд┐ рдХреЛрд░ Quartz.Net рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ рддреЛ рд╕рд░реНрд╡рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рдХреА рдУрд░ рд▓рдЧрддрд╛ рд╣реИред

рдмрд╕ рджреЗрдЦрд╛ рдХрд┐ RC2 рдЧрд┐рд░ рдЧрдпрд╛ рдФрд░ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ Quartz.net .net рдХреЛрд░ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдЕрдм рдЗрд╕ рдкрд░ рдХреЛрдИ рдЦрдмрд░ рд╣реИ рдХрд┐ (рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рдкреНрддрд╛рд╣ рддрдХ рдЬрд╛рдирддрд╛ рд╣реВрдВ)ред рдиреЗрдЯ рдХреЛрд░ 1.0.0 рдкрд░ рд╣реИ?

рдЬрдм рдореИрдВ "рдбреЙрдЯрдиреЗрдЯ рд░рд┐рд╕реНрдЯреЛрд░" рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рдХрд┐ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ 2.3.3 рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб, рд╡рд░реНрдЬрди = v1.6ред

рдХреГрдкрдпрд╛ рдХреГрдкрдпрд╛, рдореБрдЭреЗ рдиреЗрдЯ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред :)

рдЕрднреА рднреА рдХреЛрдИ NuGet рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрд░реЛрдд рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░реА-рд░рд┐рд▓реАрдЬ-рдЕрд▓реНрдлрд╛ рдХреЛ рдЬрд▓реНрдж рд╣реА рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реЛрдЧрд╛ (рдЯреАрдПрдо)ред

рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд▓ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддреЗ рд╣реИрдВ (рдХрдо рд╕реЗ рдХрдо, рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдкрд░ рдирд╣реАрдВ рд▓рд╛ рд╕рдХрддрд╛) рдФрд░ рдореИрдВ .NET рдХреЗ рднреАрддрд░ рд╕реЗ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ Common.Logging Nuget рдкреИрдХреЗрдЬ рднреА рдЕрднреА рддрдХ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ ...

@robborden рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреНрд╡рд╛рд░реНрдЯрдЬрдиреЗрдЯ -3 рд╢рд╛рдЦрд╛ рдЦреАрдВрдЪреА рдереА? рдпрд╣реА рд╡рд╣ рд╢рд╛рдЦрд╛ рд╣реИ рдЬрд┐рд╕реЗ .Net Core рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЦреЗрд▓ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред

рдзрдиреНрдпрд╡рд╛рдж @cjnanda , рдореИрдВ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛ рджреВрдВрдЧрд╛ред

рдЕрд▓реНрдлрд╛ 1 NuGet рдкрд░ рдЖ рдЧрдпрд╛ рд╣реИ, рдХреГрдкрдпрд╛ рдШреЛрд╖рдгрд╛ рджреЗрдЦреЗрдВред рдЕрднреА рдмрд╣реБрдд рдХреБрдЫ рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИ рд▓реЗрдХрд┐рди рдЕрдм рдЯрд╛рдпрд░реЛрдВ рдХреЛ рдХрд┐рдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреБрдЫ рдиреЛрдЯ:

  • рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд▓рдЧ рдХреНрд╡рд╛рд░реНрдЯреНрдЬред рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рдиред рдЬреЗрд╕рди, рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдХреА рдЕрдм JSON.NET рдЬреИрд╕реА рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ
  • рд░рд┐рдореЛрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ
  • рдбреНрд░реЗрдЧрди рд╣реЛрдВрдЧреЗ

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╣рд╛рдБ рдмрд┐рдЯреНрд╕ рджреЗрдЦрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред

рдЕрдм рдЬрдм 2.4 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдореИрдВрдиреЗ v3 рд╢рд╛рдЦрд╛ рдХреЛ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рд╣реИред рд╕рднреА v3 рдХрд╛рд░реНрдп рдЕрдм рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╣реИрдВред

рдореИрдВ рдЗрд╕реЗ рднреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛!

v3 рдХреЗ рд▓рд┐рдП рдИрдЯреАрдП рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдпрд╛ рдЙрддреНрдкрд╛рджрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд┐рддрдирд╛ рд╕реНрдерд┐рд░ рд╣реИ? рдореБрдЭреЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдФрд░ рдПрд╕рд┐рдВрдХреНрд╕ рд╕рдкреЛрд░реНрдЯ рджреЛрдиреЛрдВ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред

рд╡рд╛рд╣ рд╡рд╛рд╣ред рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдЕрдХреНрдЯреВрдмрд░ рдХреЗ рдмрд╛рдж рд╕реЗ рдЕрдЬреАрдм рдмрд╛рдд рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрдиреЗ рд╡рд╛рд▓реА рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЙрд╕реА рджрд┐рди (рдФрд░ рдШрдВрдЯреЗ) рдкрд░ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдЖрдпрд╛ рд╣реВрдВ!

рдорд╣рд╛рди рдХрд╛рд░реНрдп рд▓реЛрдЧред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .NET рдХреЛрд░ (Quartz.NET 3.0) рдЙрддреНрдкрд╛рджрди рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдЧрд╛?

рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдиреА рджреВрд░ рд╣реИ рдпрд╛ рдЗрд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/MassTransit/MassTransit/issues/909

рдмрд╕ рдпрд╣рд╛рдВ рдПрдХ рдЕрдкрдбреЗрдЯ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ 2.x рдФрд░ 3.0 рдХреЗ рд╕рд╛рде рдореМрдЬреВрджрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд▓рд╛ рдЕрд▓реНрдкрд╛ рдЬреНрдпрд╛рджрд╛рддрд░ рдмрдЧ рдлрд┐рдХреНрд╕ рдФрд░ .net рдХреЛрд░ 2 рд╕рдорд░реНрдерди + рдПрдкреАрдЖрдИ рд╕рдлрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛ред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЕрдЧрд▓рд╛ рдЕрд▓реНрдлрд╛ рдЬрд▓реНрдж рд╣реА рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ (рдореЗрд░реА рдЧрд░реНрдореА рдХреА рдЫреБрдЯреНрдЯреА рдЕрдкрдиреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪ рд░рд╣реА рд╣реИ)ред

@lahma рдмрд╕ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ .net рдорд╛рдирдХ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛! рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ + рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ + рдХреНрд▓рд╕реНрдЯрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ 3.0.0 рдЕрд▓реНрдлрд╛ 2 рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрд▓рд╛рдЬ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред .net рдХреЛрд░ 2 рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВред рдореИрдВ

рдФрд░ 3.0 рдЕрд▓реНрдлрд╛ 3 рдмрд╛рд╣рд░ рд╣реИ! рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╕рднреА рдлреАрдбрдмреИрдХ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЕрдореВрд▓реНрдп рд╣реИрдВ, рдХреГрдкрдпрд╛ рдЯрд╛рдпрд░реЛрдВ рдХреЛ рдХрд┐рдХ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ .NET рдХреЛрд░ рд╕рдорд░реНрдерди рдореМрдЬреВрдж рд╣реИ, рдореИрдВрдиреЗ рдЕрднреА рдмреАрдЯрд╛ 1 рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рд╣реИ ред

рдирдорд╕реНрддреЗ,

рд╕реЗ: https://github.com/quartznet/quartznet/issues/355#issuecomment -215127050

  1. рдпрджрд┐ рдирдП .NET Core Quartz.Net рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреА рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдорд╛рдВрдЧ рд╣реИ, рддреЛ рдПрдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдбреЗрд╕реНрдХрдЯреЙрдк .NET рдЙрдкрдХрд░рдг рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдореЗрдВ рдЙрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╕реЛрдЪрдирд╛ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдЙрдкрдХрд░рдг рдХрднреА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛? рд╣рдо рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛, рддреЛ рдХреНрдпрд╛ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рд╣реИ?
рдХрд┐рд╕реА рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗред

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж,
рдИрдпрд╛рд▓

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

DixonDs picture DixonDs  ┬╖  27рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lahma picture lahma  ┬╖  19рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kevinchalet picture kevinchalet  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lucamazzanti picture lucamazzanti  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rr-media picture rr-media  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ