pyxs - python xenstore рд▓рд╛рдЗрдмреНрд░реЗрд░реА

рдкрд░рд┐рдЪрдп: рдЬрд╝реЗрди рдХреЗ рд▓рд┐рдП рд╕рднреА рдЯреВрд▓рд╕реНрдЯреИрдХреНрд╕ рдХрд╛ рдкреНрд░рдореБрдЦ рддрддреНрд╡ рдПрдХреНрд╕рдирд╕реНрдЯреЛрд░ - рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╣реЛрд╕реНрдЯ рдкрд░ рд╕рднреА рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП "рд╕рд╛рдорд╛рдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕" рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдПрдХ рдмрд╛рд░, C рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ libxs рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдереАред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдкрд╛рдЗрдерди рдмрд╛рдЗрдВрдбрд░реНрд╕ (xen.lowlevel.xs) рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдЗрд╡реЗрдВрдЯ рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде рдЙрд╕реЗ рдмрд╣реБрдд рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдФрд░ pyxs рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣рдорд╛рд░реА рдбрд┐рдорд╛рдВрдб рд╕реЗрд╡рд╛ рдкрд░ рд╣рдорд╛рд░реА рд╕реНрдореГрддрд┐ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреА рдЧрдИ рдереА, рдЬреЛ рд╣рдореЗрдВ рдПрдХреНрд╕рдирд╕реНрдЯреЛрд░, рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╣реА рдЖрд░рд╛рдорджрд╛рдпрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕реЗ рдПрд▓рдЬреАрдкреАрдПрд▓-рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд▓реЛрдЧреЛрдВ рдХреЛ рджреЗрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг

рд╕рд░рд▓ рдкрдврд╝реЗрдВ рдФрд░ рд▓рд┐рдЦреЗрдВ:
 pyxs рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ

 xs = рдЧреНрд░рд╛рд╣рдХ ():
 xs ["/ foobar / a"] = "рдмрд╛рдЬ"
 рдкреНрд░рд┐рдВрдЯ xs ["/ foobar / a"]


рджреВрд╕рд░рд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд░реНрдЧ рдХрдИ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдореЙрдирд┐рдЯрд░ рд╣реИ , рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:

 pyxs рдЗрдВрдкреЛрд░реНрдЯ рдореЙрдирд┐рдЯрд░ рд╕реЗ

 xs = рдореЙрдирд┐рдЯрд░ ():
 xs.watch ("/ рд╕реНрдерд╛рдиреАрдп / рдбреЛрдореЗрди / 1")
 xs.watch ("/ рд╕реНрдерд╛рдиреАрдп / рдбреЛрдореЗрди / 2")
 рдЬрдмрдХрд┐ рд╕рдЪ:
     рдкреНрд░рд┐рдВрдЯ xwawait ()

рд╣рдо рд╣рд░ рдмрд╛рд░ рдкрд╣рд▓реЗ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░реЗрдВрдЧреЗред

рдЧрд┐рдердм рд▓рд┐рдВрдХ: github.com/selectel/pyxs
рдкреНрд░рд▓реЗрдЦрди: pyxs.readthedocs.org

Source: https://habr.com/ru/post/In134722/


All Articles