Π΄ΠΆΠΎΠ± ΡΡΠΎ ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
Job β ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΈ ΠΎΠΏΡΡΠ½ΡΡ Go ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²
Π― Π½Π°ΡΠ°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Go ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° PHP. ΠΠΎΠ»Π°Π³Π°Ρ ΡΡΠ΄Ρ ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡΠΌ ΠΌΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΉ. Go Π² ΡΠ΅Π»ΠΎΠΌ Π½Π°Π±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΡΡΠ΅Π΄ΠΈ Web ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠΎΡΡΠΎΠΌΡ Π² Π½Π°ΡΠ°Π»Π΅, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π΄ΠΈΡΠΊΠΎΠΌΡΠΎΡΡ ΠΈ Π»ΠΎΠΌΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². Π― Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π» ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ context.Context, Π·Π°ΡΠ΅ΠΌ ΠΎΠ½? ΠΠΎΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ Π³ΠΎΡΠΎΠ²Ρ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ ΡΡΠ΅ΡΠ½ΡΡΡ, Π½ΠΎ ΠΌΠ°ΡΠ΅ΡΠΎΠ³ΠΎ PHP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π±Π΅Π· Ρ ΡΠ΅Π½Π° Π½Π΅ ΡΡΠ΅ΡΡ. ΠΠΎΡΠ° ΡΡΠΎ-ΡΠΎ Ρ ΡΡΠΈΠΌ Π΄Π΅Π»Π°ΡΡ ΠΈ ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄! Π ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠ½Π΅, ΠΊΠ°ΠΊ PHP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠ° ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΡΠ°Π΅ΡΠ³ΠΎΠ»ΡΠ½ΡΠΌ ΠΊΠ°ΠΌΠ½Π΅ΠΌ Go. Π£ΡΠ΅Π²ΡΠΈΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠΈΠΉ Π½ΠΎΡΡΠ±ΡΠΊ Ρ ΠΏΠΎΡΡΠΈ ΠΌΠ΅ΡΡΡ ΠΊΠΎΡΠΏΠ΅Π» Π½Π°Π΄ ΡΠ°Π±ΠΎΡΠΎΠΉ. Π― Ρ ΠΎΡΠ΅Π» Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ Π² Π²Π°ΠΊΡΡΠΌΠ΅, Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°. Π’Π°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ, proof of concept. ΠΡ ΠΈ Π·Π°ΠΎΠ΄Π½ΠΎ Π½Π°Π±ΠΈΡΡ ΡΡΠΊΡ Π½Π° Go, ΡΠ΅Π³ΠΎ Π³ΡΠ΅Ρ Π° ΡΠ°ΠΈΡΡ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ
Π Π΅ΡΠ»ΠΈ Π±Π΅Π· ΡΡΡΠΎΠΊ, ΡΠΎ ΡΡΠΎ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠ΅ΠΌΠ° Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° Π±ΡΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΠΎΠ»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΡΡΠΎΠ²Π½Ρ L4; ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π½ΠΈΡΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° backend ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°; backend ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π»Π΅ΠΆΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Job. ΠΠΎΠ΄ ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° Github.
Parallel Processing Where the commands are written as tasks to a shared resource and executed by many threads in parallel (possibly on remote machines; this variant is often referred to as the Master/Worker pattern)
ΠΠ°Π΄Π°ΡΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΡΡΡ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ping/pong ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. Π― ΠΏΡΠΈΠ²Π΅Π΄Ρ Π·Π΄Π΅ΡΡ Π»ΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΡΡΠΊΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ β ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° Github ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅.
ΠΡΠ΅ΠΌ Ρ ΠΎΡΠΎΡΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΈ Π΄Π° ΠΏΡΠΈΠ±ΡΠ΄Π΅Ρ Ρ Π½Π°ΠΌΠΈ ΡΠΈΠ»Π° ΠΏΡΡ ΡΠΏΠ΅ Π² ΠΌΠΈΡΠ΅ ΡΡΡΠ»ΠΈΠΊΠΎΠ².
ΠΠΆΠΎΠ± ΡΡΠΎ ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
ΠΠ°Π΄Π°Π½ΠΈΡ ( jobs ) β ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠ°Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π°Π±ΠΎΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ (Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈ Π²ΡΡΡΠ½ΡΡ). ΠΠ° ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ: ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ, Π΄Π΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ , Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ HTML ΠΈ Ρ. ΠΏ. ΠΠ°Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΈ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΆΡΡΠ½Π°Π»ΠΎΠ² ΠΈΠ»ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
Π ΠΈΡ. 8.1. ΠΠΊΠ½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ² Π·Π°Π΄Π°Π½ΠΈΡ SQL Server Agent
ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°Π½ΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡ ΠΎΠΆΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ°ΠΊ: Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Script Job As | CREATE TO | New Query Editor Window (ΠΡΡΠΊΡΠΈΠΏΡΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ | Π‘ΠΎΠ·Π΄Π°ΡΡ | ΠΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ²). Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π² ΠΎΠΊΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½ ΡΠΊΡΠΈΠΏΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ°ΠΌ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΡΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅, ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ General Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ:
q Category (ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ) β ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½ΠΈ Π½Π° ΡΡΠΎ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ Π΄Π»Ρ ΠΈΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π² Management Studio ;
q Description (ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅) β ΠΏΡΠΎΡΡΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π΄Π΅Π»Π°Π΅Ρ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π±Ρ, ΡΡΠΎΠ±Ρ Π½Π΅ Π·Π°Π±ΡΡΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ ΡΡΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅;
q Enabled (ΠΠΊΠ»ΡΡΠ΅Π½ΠΎ) β Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠ½ΡΡΡ ΡΡΠΎΡ ΡΠ»Π°ΠΆΠΎΠΊ. ΠΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ;
q Source (ΠΡΡΠΎΡΠ½ΠΈΠΊ) β Π² ΡΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄Π°Π½Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ( master server ). ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΡΠ»ΡΡΠΈΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ (ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ ). ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΡΠΎ ΠΌΡΠ»ΡΡΠΈΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·Π΄. 8.1.6;
q Created (Π‘ΠΎΠ·Π΄Π°Π½ΠΎ), Last modified (ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·), Last Executed (ΠΠ°ΠΏΡΡΠΊΠ°Π»ΠΎΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·) β ΡΡΠΎ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ.
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Steps (ΠΡΠ°ΠΏΡ) ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΌΠ°Ρ Π²Π°ΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ. ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ°ΠΏΡ ( steps ), Ρ. Π΅. Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠ΅. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ°ΠΏΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ New (ΠΠΎΠ²ΡΠΉ). ΠΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΈΠΏ. ΠΡΠ»ΠΈ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΈΠΏΡ ΡΡΠ°ΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° Replication (Π·Π°Π΄Π°Π½ΠΈΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΡΠ°ΠΏΠ°ΠΌΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ), ΡΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ:
ΠΡΠΌΠ΅ΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΈΠΌ ΡΠΈΠΏΠΎΠΌ ΡΡΠ°ΠΏΠΎΠ²:
Β· Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ β ΡΠΈΠΊΠ»Ρ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Ρ. ΠΏ., ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΈΠΏ ΡΡΠ°ΠΏΠ°;
Β· Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Π½Π°ΡΠ°Π»Π΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Sapien PrimalScript ), Π° Π·Π°ΡΠ΅ΠΌ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΠΎΠΊΠ½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ² ΡΡΠ°ΠΏΠ°;
q SQL Server Integration Services Package (ΠΠ°ΠΊΠ΅Ρ SQL Server Integration Services ) β ΡΡΠΎΡ ΡΠΈΠΏ ΡΡΠ°ΠΏΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ SSIS ( DTS ). ΠΡΠΎ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΡΡΠ°ΠΏΠ°, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π² SQL Server 2000 (Π² Π½Π΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΡ DTS ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈΠ· ΡΡΠ°ΠΏΠ° CmdExec ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ dtsrun ). Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² SSIS ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ Π²Π΅Π»ΠΈΠΊΠ°. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΡΠΎ ΡΠ°Π±ΠΎΡΡ Ρ SSIS Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ 10;
q SQL Server Analysis Services Command (ΠΠΎΠΌΠ°Π½Π΄Π° SQL Server Analysis Services ) ΠΈ SQL Server Analysis Services Query (ΠΠ°ΠΏΡΠΎΡ SQL Server Analysis Services ) β ΡΡΠΈ ΡΠΈΠΏΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ ΠΊ Analysis Services (ΡΠ΄ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ OLAP Π½Π° SQL Server ).
ΠΡΡΠ³ΠΈΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ ΡΡΠ°ΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Advanced :
q On success action (ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅Ρ Π΅) ΠΈ On failure action (ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ ΡΠ±ΠΎΠ΅) β ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ (Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°) Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ°. Π Π²Π°ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° (ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ):
Β· Go to the next step (ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΡΠ°ΠΏΡ) β ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΠ²ΡΠΈΡ ΡΡ ΡΡΠ°ΠΏΠΎΠ²;
Β· Quit the job reporting success (ΠΡΠΉΡΠΈ ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΡ, ΠΏΡΠΎΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π² ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ) β ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΠ°ΠΏΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ;
Β· Quit the job reporting failure (ΠΡΠΉΡΠΈ ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΡ, ΠΏΡΠΎΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π² ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅) β ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°ΠΏΠ°.
Π ΠΈΡ. 8.2. ΠΠΊΡΠ°Π½ Π²ΡΠ±ΠΎΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ
q Retry attempts (ΠΠΎΠΏΡΡΠΊΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ°) β ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· SQL Server Agent Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ°, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ°Π·Ρ;
q Retry intervals (ΠΠ½ΡΠ΅ΡΠ²Π°Π» ΠΏΠΎΠ²ΡΠΎΡΠ°) β ΠΊΠ°ΠΊΠ°Ρ ΠΏΠ°ΡΠ·Π° Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½Π° SQL Server Agent ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (Π² ΠΌΠΈΠ½ΡΡΠ°Ρ );
q Append output to existing file (ΠΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ) β ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΡΡΠ°ΠΏΠΎΠ² Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΠ°ΠΉΠ»Π΅;
q Append output to existing entry in table (ΠΠΎΠ±Π°Π²Π»ΡΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ Π·Π°ΠΏΠΈΡΡΠΌ Π² ΡΠ°Π±Π»ΠΈΡΠ΅) β Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΡΠ»Π°ΠΆΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΡΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΡ sysjobstepslogs Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ ΠΎΠ½ ΡΠ½ΡΡ, ΡΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΠ΅ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΠΈΡΠΈ;
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠ°ΠΏΡ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Steps ΠΎΠΊΠ½Π° ΡΠ²ΠΎΠΉΡΡΠ² Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΡΡΠ°ΠΏΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΡΠ΅Π»ΠΎΠΊ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ°ΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ (ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ).
ΠΠ±ΡΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π·Π°Π΄Π°Π½ΠΈΡ, β ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, Π½ΡΠΆΠ½ΠΎ Π»ΠΈ Π²Π°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Schedules (Π Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡ) ΡΠ²ΠΎΠΉΡΡΠ² Π·Π°Π΄Π°Π½ΠΈΡ. Π‘Π°ΠΌΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΡΠ΄ Π»ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π². ΠΡΠΌΠ΅ΡΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ:
q Π² SQL Server 2005 ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΡΠ΅ΡΡΡΠ΅ ΡΠΈΠΏΠ° ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ (ΡΠΈΠΏ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΏΠΈΡΠΊΠ° Schedule Type (Π’ΠΈΠΏ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ) Π² ΠΎΠΊΠ½Π΅ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ):
Β· Recurring β ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ΅Π΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ, ΠΈΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΡ Π½Π΅Π΄Π΅Π»Ρ, ΠΈΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΡΡ;
Β· One time β Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·;
Β· Start automatically when SQL Server Agent starts β Π·Π°Π΄Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ SQL Server Agent ;
Β· Start whenever the CPU become idle β Π·Π°Π΄Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΠΎΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Advanced ΡΠ²ΠΎΠΉΡΡΠ² SQL Server Agent ;
q ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠ»ΡΠΆΠ±Π° SQL Server Agent Π½Π°Ρ ΠΎΠ΄ΠΈΠ»Π°ΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π°ΡΡΡΠΎΠ΅Π½ Π΄Π»Ρ Π½Π΅Π΅ ΡΠ΅ΠΆΠΈΠΌ Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊΠ°;
q Ρ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ Π·Π°Π΄Π°Π½ΠΈΠΉ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠΉ (Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΈ Ρ. ΠΏ.), ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Manage Schedules (Π£ΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡΠΌΠΈ) ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° SQL Server Agent | Jobs ;
q Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΅Π³ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Pick (ΠΡΠ±ΡΠ°ΡΡ) Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Schedules ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Ρ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π²Π»Π°Π΄Π΅Π»Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ, Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Pick Schedule (ΠΡΠ±ΡΠ°ΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅) Π½ΡΠΆΠ½ΡΡ ΡΡΡΠΎΡΠΊΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ OK ;
q Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠΉ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ;
Π§Π°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΌΠΎ ΠΎΡΡΠΈΡΠ°Π»ΠΎΡΡ ΠΎ ΡΠ²ΠΎΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½ΠΎΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ , ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΠ΅Ρ ΠΎ Π½Π΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»ΡΡ Π½Π° ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΡΡΠΈΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°. ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΠΎΡΡΠΎΠ²ΠΎΠΌ ΡΡΠΈΠΊΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΡΠΌΠΎΡΡΠ΅ΡΡ Π»ΠΎΠ³ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π²ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ .
ΠΠ°ΡΡΡΠΎΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ «ΠΎΡΡΠ΅ΡΠ°» Π·Π°Π΄Π°Π½ΠΈΡ ΠΎ ΡΠ²ΠΎΠ΅ΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Notifications (Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ) ΡΠ²ΠΎΠΉΡΡΠ² Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠ° ΡΡΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
Β· When the job fails β ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°. ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ;
Β· When the job succeeds β ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½ΠΈΡ;
Β· When the job completes β ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅;
q Write to the Windows Application event log (ΠΠ°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½ΠΈΡ Π² ΠΆΡΡΠ½Π°Π» ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows ) β ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΆΡΡΠ½Π°Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Windows Ρ ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΠΆΡΡΠ½Π°Π»Π°Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Windows ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π»Ρ Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, GFI SELM ΠΈΠ»ΠΈ EventTracker );
q Automatically delete job (ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅) β ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΡΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎ ΡΠ΅Π±Ρ ΡΠ΄Π°Π»ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ -ΠΊΠΎΠΏΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΆΡΡΠ½Π°Π»ΠΎΠ² ΠΈΠ»ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Targets (ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΡ) ΡΠ²ΠΎΠΉΡΡΠ² Π·Π°Π΄Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π½Π° ΠΊΠ°ΠΊΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΡΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅. ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ , Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΌΡΠ»ΡΡΠΈΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² ΡΠ°Π·Π΄. 8.1.6.
ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Kubernetes: Job, CronJob
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Job ΠΈ CronJob Π² Kubernetes, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ, Π° Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΡΡΠΎΠΈΡ.
ΠΡΠ° ΡΡΠ°ΡΡΡ β Π²ΡΠΆΠΈΠΌΠΊΠ° ΠΈΠ· Π»Π΅ΠΊΡΠΈΠΈ Π²Π΅ΡΠ΅ΡΠ½Π΅ΠΉ ΡΠΊΠΎΠ»Ρ Β«Π‘Π»ΡΡΠΌ KubernetesΒ».
Job: ΡΡΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ
Job (ΡΠ°Π±ΠΎΡΠ°, Π·Π°Π΄Π°Π½ΠΈΠ΅) β ΡΡΠΎ yaml-ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ΄ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΠΊ Π·Π°Π΄Π°ΡΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, Job ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΠΎΠ΄Ρ Π΄ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄ΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ°ΡΡΠΎΠ². ΠΠΎΠ³Π΄Π° Π·Π°Π΄Π°ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, Job ΡΡΠΈΡΠ°Π΅ΡΡΡ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΡΠΌ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ. Job β ΡΡΠΎ ΡΡΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ.
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Job
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΏΠΎΡΡΡΠΎΠΈΠ»ΠΈ CI/CD, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π»Ρ Π½Π΅Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²Π΅ΡΠΊΠ° β Π² Π½Π΅Ρ ΠΏΠΎΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ β CI/CD ΡΠΎΠ·Π΄Π°Π» Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ namespace ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ» Job β ΡΠΎΡ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΠ·Π΄Π°Π» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π½Π°Π»ΠΈΠ» ΡΡΠ΄Π° Π΄Π°Π½Π½ΡΠ΅, Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΠ» Π² Secret ΠΈ ConfigMap. Π’ΠΎ Π΅ΡΡΡ Job ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ.
ΠΡΠΈ Π²ΡΠΊΠ°ΡΠΊΠ΅ helm chart. ΠΠΎΡΠ»Π΅ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ helm chart Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΡΠΊΠΎΠ² (hook) Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Job, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊ ΡΠ°ΡΠΊΠ°ΡΠΈΠ»ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΠΎΠ½ΠΎ.
Π’Π°ΠΉΠΌΠ°ΡΡΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Job
Job Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ΄Ρ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ΄ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ Ρ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² ΠΏΠΎΠ΄Π΅ Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ (exit code Π½Π΅ ΡΠ°Π²Π΅Π½ 0), ΡΠΎ Job Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄ Π΄ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ. Π§ΡΠΎΠ±Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠΈ, Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Job Π΅ΡΡΡ Π΄Π²Π° ΡΠ°ΠΉΠΌΠ°ΡΡΠ°: activeDeadlineSeconds ΠΈ backoffLimit.
activeDeadlineSeconds β ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠ΅ΠΌΡ Job Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°, Π° Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ Job.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π² Job, ΡΡΠΎ activeDeadlineSeconds ΡΠ°Π²Π΅Π½ 200 ΡΠ΅ΠΊ., Π° Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π· 5 ΡΠ΅ΠΊ., ΡΠΎ Job ΡΠ΄Π΅Π»Π°Π΅Ρ 40 ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ.
backoffLimit β ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΏΡΡΠΎΠΊ. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ 2, ΡΠΎ Job Π΄Π²Π°ΠΆΠ΄Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΠΎΠ΄ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ backoffLimit ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅ Π·Π°Π΄Π°ΡΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ΄Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ. Π Π²Π΅Π΄Ρ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² API Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ, ΠΈ ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄ β ΡΡΠΎ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π²Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½Π° ΡΠ·Π»Π°Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΠ΄Ρ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Completed ΠΈΠ»ΠΈ Failed Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΈ 110 ΠΏΠΎΠ΄ΠΎΠ² Π½Π° ΡΠ·Π΅Π», ΠΈ Π² ΠΈΡΠΎΠ³Π΅, ΠΊΠΎΠ³Π΄Π° Π½Π° ΡΠ·Π»Π΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π΄ΠΎΠΊΠ΅Ρ-Π΄Π΅ΠΌΠΎΠ½Ρ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠ»ΠΎΡ ΠΎ.
Π£ΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎΠ΄ΠΎΠ², ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠ°ΡΡΡΡ Π² Π½ΠΎΡΡ Ρ ΠΏΡΡΠ½ΠΈΡΡ Π½Π° ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΡΠ°ΡΡΡΠ΅ Running.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Job
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΡ Job ΠΈ ΠΏΠΎΠ΄ΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΈΠΌ, ΠΎΡΡΠ°ΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π½Π°Π²ΡΠ΅Π³Π΄Π°. ΠΡΠ΅ ΠΏΠΎΠ»Ρ Job ΠΈΠΌΠ΅ΡΡ ΡΡΠ°ΡΡΡ Immutable, ΡΠΎ Π΅ΡΡΡ Β«Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉΒ», ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Job ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΡΠ½Π°ΡΠ°Π»Π° ΡΠ΄Π°Π»ΡΡΡ Job, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ°Π»ΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°. ΠΡΠ°ΠΊΡΠΈΠΊΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠΌΠ΅Π½ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΊΠΈΡ Job ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π½Π΅Π½ΡΠΆΠ½ΡΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΎΠ².
Π Kubernetes Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ TTL Controller, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅Π΅Ρ ΡΠ΄Π°Π»ΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠ΅ Job Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠΎΠ΄Π°ΠΌΠΈ. ΠΠΎΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π² Π²Π΅ΡΡΠΈΠΈ 1.12 ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ°ΡΡΡΠ΅ alpha, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ feature gate TTLAfterFinished.
ttlSecondsAfterFinished β ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΠ΅ΡΠ΅Π· ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ TimeToLive ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΄Π°Π»ΠΈΡΡ Π·Π°Π²Π΅ΡΡΠΈΠ²ΡΠΈΠΉΡΡ Job Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠΎΠ΄Π°ΠΌΠΈ ΠΈ ΠΈΡ Π»ΠΎΠ³Π°ΠΌΠΈ.
ΠΠ°Π½ΠΈΡΠ΅ΡΡ
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Job-ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ°.
Π Π½Π°ΡΠ°Π»Π΅ ΡΠΊΠ°Π·Π°Π½Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ api-Π³ΡΡΠΏΠΏΡ, ΡΠΈΠΏ ΡΡΡΠ½ΠΎΡΡΠΈ, ΠΈΠΌΡ ΠΈ Π΄Π°Π»ΡΡΠ΅ β ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
Π ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°ΠΉΠΌΠ°ΡΡΡ ΠΈ ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡ ΠΏΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ. ΠΠΏΡΠΈΠΈ backoffLimit: 2 ΠΈ activeDeadlineSeconds: 60 Π·Π½Π°ΡΠ°Ρ, ΡΡΠΎ Job Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠ°ΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°Π΄Π°ΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡΡ ΡΠ°Π· ΠΈ Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅ Π΄ΠΎΠ»ΡΡΠ΅ 60 ΡΠ΅ΠΊΡΠ½Π΄.
template β ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°Π΄Π°ΡΡ; Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ busybox, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΊΡΡΡΡ Π΄Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΡΠΈΠ²Π΅Ρ ΠΈΠ· Kubernetes.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ
Π ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ.
ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎΠ΄Π½ΡΠ»ΡΡ ΠΈ Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ Π² ΡΡΠ°ΡΡΡΠ΅ Completed. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°ΡΡΡ Running.
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ Job ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈΡΡ Π²ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ β 5 ΡΠ΅ΠΊΡΠ½Π΄.
ΠΠ΅Π½ΡΠΆΠ½ΡΠΉ Job ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Π΄ΠΎ ΡΠ΄Π°Π»ΡΡΡ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ ΡΠ΄Π°Π»ΠΈΠΌ Π΅Π³ΠΎ ΡΡΠΊΠ°ΠΌΠΈ, Job ΠΈ ΠΏΠΎΠ΄ Π±ΡΠ΄ΡΡ Π²ΠΈΡΠ΅ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π²ΡΠ΅Π³Π΄Π° β Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ garbage collector Π½Π΅ ΠΏΡΠΈΠ΄ΡΡ ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΈΡ ΠΈΡ .
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠΎ 10-20 Π·Π°Π΄Π°Π½ΠΈΠΉ Π² ΡΠ°Ρ, ΠΈ Π½ΠΈΠΊΡΠΎ ΠΈΡ Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ, ΠΎΠ½ΠΈ ΠΊΠΎΠΏΡΡΡΡ ΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ Π½ΡΠΆΠ½Ρ, Π½ΠΎ ΠΌΠ΅ΡΡΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡ. Π ΠΊΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ» Π²ΡΡΠ΅, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ΄ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Completed β ΡΡΠΎ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π΄Π²Π° ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π° ΡΠ·Π»Π΅. Π Π΄ΠΎΠΊΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΡΠΈΡΠΎΡΠΌΠ°ΠΆΠΈΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Π½Π° ΡΠ·Π»Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΈ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ½ΠΈ ΠΈΠ»ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ.
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ:
Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ»ΠΎΠΌΠ°ΡΡ Job
Job, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΌΡ Π½Π°Π΄ Π½ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΠ·Π΄Π΅Π²Π°Π΅ΠΌΡΡ.
ΠΠΎΠΏΡΠ°Π²ΠΈΠΌ yaml: Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° exit 1. Π’ΠΎ Π΅ΡΡΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ JobβΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π·Π°Π²Π΅ΡΡΠ°Π»ΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ 1. ΠΠ»Ρ Kubernetes ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Job Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈ ΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ: ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠΎΠ·Π΄Π°Π»ΡΡ ΠΈ ΡΠΏΠ°Π» Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, Π·Π°ΡΠ΅ΠΌ Π΅ΡΡ ΠΈ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½. ΠΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ.
Π ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ ΠΏΠΎΠ΄ΠΎΠ² Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΡΡΠΈ ΠΏΠΎΠ΄Π°, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΡ Error. ΠΠ· ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Job ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ Ρ Π½Π°Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΎΠ΄ΠΈΠ½ Job ΠΈ ΠΎΠ½ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ.
ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΡΡΠΈ ΠΏΠΎΠ΄Π°, ΠΈ Job Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΡΠ» Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ backoffLimit.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π yaml Π»ΠΈΠΌΠΈΡ ΡΠ°Π²Π΅Π½ 2. Π’ΠΎ Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Job Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄Π²ΡΡ ΡΠ°Π·, Π½ΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΡΠΈ ΠΏΠΎΠ΄Π°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Β«ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠ°Π·Β» Π·Π½Π°ΡΠΈΡ 3 ΠΏΠΎΠΏΡΡΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎΠ΄Π΅Π»ΡΠ²Π°Π΅ΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π½Π° ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π΅ Ρ ΡΠΎΡΠ½Π΅ΠΉ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ², ΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π²Π° ΠΏΠΎΠ΄Π°, Π° Ρ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ ΡΡΠΈ. ΠΡΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΈ ΠΏΡΠΎΡΡΠΈΡΡ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ β activeDeadlineSeconds.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ (60 ΡΠ΅ΠΊΡΠ½Π΄), ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°: ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ».
ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π»ΠΎΠ³ΠΈ, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ Ρ Π½Π°Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ Β«HelloΒ» β Π²ΡΡ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ.
Π§Π΅ΡΠ΅Π· 60 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΠ΄ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΡΠ°ΡΡΡΠ΅ Terminating (ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Β± 10 ΡΠ΅ΠΊ).
ΠΡΠΏΠΎΠΌΠ½ΠΈΠΌ, ΠΊΠ°ΠΊ Π² Kubernetes ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ². ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ΄, ΡΠΎ Π΅ΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π² ΠΏΠΎΠ΄Π΅, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ ΠΏΠΎΡΡΠ»Π°Π΅ΡΡΡ sigterm-ΡΠΈΠ³Π½Π°Π» ΠΈ Kubernetes ΠΆΠ΄ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π»ΠΎ Π½Π° ΡΡΠΎΡ ΡΠΈΠ³Π½Π°Π».
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ bash-ΡΠΊΡΠΈΠΏΡ Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ, ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΈΠ³Π½Π°Π» Π½Π΅ΠΊΠΎΠΌΡ. Kubernetes ΠΆΠ΄ΡΡ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΎ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ graceful shutdown. ΠΠΎ Π΄Π΅ΡΠΎΠ»ΡΡ β 30 ΡΠ΅ΠΊΡΠ½Π΄. Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π·Π° 30 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° sigterm Π½Π΅ ΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π»ΠΎ, Π΄Π°Π»ΡΡΠ΅ ΠΏΠΎΡΡΠ»Π°Π΅ΡΡΡ sigkill ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ Ρ pid 1 Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠ±ΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.
Π‘ΠΏΡΡΡΡ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ 100 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΠ΄ ΡΠ΄Π°Π»ΠΈΠ»ΡΡ. ΠΡΠΈΡΠ΅ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π½Π΅ ΠΎΡΡΠ°Π»ΠΎΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ β ΡΡΠΎ ΠΏΠΎΡΠ»Π°ΡΡ sigterm ΠΈ sigkill. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ garbage collector, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΠΎΠ΄Ρ Π² ΡΡΠ°ΡΡΡΠ΅ Terminating, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ Π·Π°ΡΠΎΡΡΠ»ΠΈ ΠΊΠ»Π°ΡΡΠ΅Ρ.
Π ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Job ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ» ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΡΠ΅Π²ΡΡΠΈΠ»Π° Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ.
ΠΠΎΠ»Π΅ restartPolicy
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡ kubelet, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ» Π·Π°Π²Π΅ΡΡΡΠ½ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎΠΈΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Always, ΡΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π² ΠΏΠΎΠ΄Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ, kubelet ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ. ΠΡΠΈΡΠ΅ΠΌ, Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π² ΠΏΠΎΠ΄Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠ°Π²ΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.
ΠΡΠΎ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈ Π΅ΡΠ»ΠΈ Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π² Job, ΡΠΎ Job-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ΄ Π±ΡΠ» Π·Π°Π²Π΅ΡΡΡΠ½ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. Π‘ Π΅Π³ΠΎ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π° ΡΠΎ, ΡΡΠΎ kubelet ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΏΠ°Π²ΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Job-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΡ.
CronJob: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Job ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ
Job ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°Π·ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΎ-ΡΠΎ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ. Π Π²ΠΎΡ Π·Π΄Π΅ΡΡ Kubernetes ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ CronJob.
CronJob β ΡΡΠΎ yaml-ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ JobβΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ΄Ρ, Π° ΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, Π²ΡΡ Π²ΡΠΎΠ΄Π΅ Π±Ρ ΠΏΡΠΎΡΡΠΎ, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΡ Π΅ΡΡΡ ΠΊΡΡΠ° ΠΌΠ΅ΡΡ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΡΠ°ΡΡ Π±ΠΎΠ»Ρ.
Π ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ CronJob ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
Π Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π»ΠΈΡΡΡ Π½Π° ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ CronJob ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
schedule β ΡΡΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΡΠ½ΡΠΉ cron-ΡΠΎΡΠΌΠ°Ρ. Π‘ΡΡΠΎΡΠΊΠ° Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π°Ρ Job Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°Π· Π² ΠΌΠΈΠ½ΡΡΡ.
concurrencyPolicy β ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ. ΠΡΠ²Π°Π΅Ρ ΡΡΡΡ Π²ΠΈΠ΄ΠΎΠ²: Allow, Forbid, Replace.
Allow ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄Π°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ. ΠΡΠ»ΠΈ Π·Π° ΠΌΠΈΠ½ΡΡΡ Job Π½Π΅ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π», Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ JobβΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ Job Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ 100 ΡΠ΅ΠΊ., Π° Cron Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°Π· Π² ΠΌΠΈΠ½ΡΡΡ, ΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Job, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ 61 ΡΠ΅ΠΊ., Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ Job. Π ΠΈΡΠΎΠ³Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π²Π° Jobβa, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ: ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ JobβΠΎΠ² Π·Π°ΠΏΡΡΠ΅Π½ΠΎ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅Ρ, ΡΠ΅ΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠ΅ΠΌ Π΄ΠΎΠ»ΡΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ β Π² ΠΈΡΠΎΠ³Π΅ Π²ΡΡ Π·Π°ΡΡΡΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ Π±Π΅ΡΠ΅Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ.
Replace Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ: ΡΡΠ°ΡΡΠΉ Job ΡΠ±ΠΈΠ²Π°Π΅ΡΡΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΌΡΠΉ Π»ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΠΌ ΡΠΎ, ΡΡΠΎ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ, ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ Π·Π°Π΄Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ. Π ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ.
Forbid Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π·Π°ΠΏΡΡΠΊ Π½ΠΎΠ²ΡΡ JobβΠΎΠ², ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ. Π‘ ΡΡΠΎΠΉ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ, ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π·Π°Π΄Π°ΡΠΈ. ΠΠΎΡΡΠΎΠΌΡ Forbid ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ.
jobTemplate β ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Job. ΠΡ Π° Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ Job.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ:
Π£Π²ΠΈΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ CronJob, ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΡ JobβΠΎΠ² ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π Π°Π·Π΄Π΅Π» Suspend β Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° CronJob. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ False. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ CronJob Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠΏΡΠΈΡ True, ΠΈ ΡΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΏΠΎΠΊΠ° ΠΌΡ Π΅Π³ΠΎ ΡΠ½ΠΎΠ²Π° Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΠΌ.
Active β ΡΠΊΠΎΠ»ΡΠΊΠΎ JobβΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΎ, Last Schedule β ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· ΠΈΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ JobβΠ°ΠΌ ΠΈ ΠΏΠΎΠ΄Π°ΠΌ.
ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ ΠΎΠ΄ΠΈΠ½ Job.
ΠΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½, ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ°Π±ΠΎΡΡ.
Π§ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ: CronJob ΡΠΎΠ·Π΄Π°Π» Job, Job ΡΠΎΠ·Π΄Π°Π» ΠΏΠΎΠ΄, ΠΏΠΎΠ΄ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π», Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ β Π²ΡΡ Π·Π΄ΠΎΡΠΎΠ²ΠΎ.
ΠΡΡ ΡΠ°Π· ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° CronJob:
Last Schedule Π±ΡΠ» 19 ΡΠ΅ΠΊΡΠ½Π΄ Π½Π°Π·Π°Π΄. ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Job, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Job ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠΎΠ΄.
ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Π° ΡΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ CronJob ΠΎΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΡΡ Π±Ρ ΠΏΠ°ΡΡ Π½Π΅Π΄Π΅Π»Ρ? ΠΠ΅ΡΠΆΠ΅Π»ΠΈ Ρ Π½Π°Ρ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅ JobβΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΎΠ² Π² ΡΡΠ°ΡΡΡΠ΅ Completed, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠΎΠΉ ΠΏΠ°ΡΠ΅ Π½Π΅Π΄Π΅Π»Ρ ΠΌΠΈΠ½ΡΡ?
ΠΠΎΠ³Π΄Π° CronJobβΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΈ Π±ΡΠ»ΠΈ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ Π°Π»ΡΡΠ°-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΡΠΎ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ: Π΄Π΅Π»Π°Π»ΠΈ CronJob ΡΠ°Π· Π² ΠΌΠΈΠ½ΡΡΡ, ΡΠΌΠΎΡΡΠ΅Π»ΠΈ β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π²ΡΡ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π° ΡΠ΅ΡΠ΅Π· Π½Π΅Π΄Π΅Π»Ρ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π΅ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π½Π° ΡΠ·Π»Π°Ρ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π»ΠΎΠΌΠ»ΡΡΡΠΈΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΠΆΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ.
Π‘Π½ΠΎΠ²Π° ΠΎΡΠΊΡΠΎΠ΅ΠΌ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ:
ΠΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΎΠΏΡΠΈΠΈ failedJobHistorLimit ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 1 ΠΈ successfulJobHistoryLimit ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 3. ΠΠ½ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ JobβΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. Π’ΠΎ Π΅ΡΡΡ CronJob Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ JobβΡ, Π½ΠΎ ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΡΠ°ΡΡΠ΅.
ΠΠΎΠ³Π΄Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ CronJob ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ, ΡΡΠΈ ΠΎΠΏΡΠΈΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ CronJob Π·Π° ΡΠΎΠ±ΠΎΠΉ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΡΠ». ΠΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΡΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΈ ΡΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ.
Π Π½Π° ΡΠ»Π°Π΄ΠΊΠΎΠ΅ β ΠΏΡΠΎ startingDeadlineSeconds
Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ startingDeadlineSeconds ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΡΠΈΡΡ Π·Π°ΠΏΡΡΠΊ Job. ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Job Π½Π΅ ΡΠΎΠ·Π΄Π°Π»ΡΡ ΠΈ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ, ΠΏΡΠΎΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΊΡΠ½Π΄, ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅, ΡΠΎ ΠΎΠ½ ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½. Π Π΅ΡΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠΎ Ρ ΠΎΡΡ ΠΈ Ρ ΠΎΠΏΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ, Job Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½.
Π’ΡΡ Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π»ΠΎΠ²ΡΡΠΊΠ°, Π΅ΡΠ»ΠΈ concurrencyPolicy ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Job, ΡΠΎ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° startingDeadlineSeconds Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΡ Job ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠ»Π΅ΡΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΊΠΎΠ΄ Kubernetes Π·Π°Ρ Π°ΡΠ΄ΠΊΠΎΠΆΠ΅Π½Ρ Π»ΠΈΠΌΠΈΡΡ ΠΈ Π·Π°ΠΏΡΠ΅ΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ:
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ startingDeadlineSeconds Π½Π΅ ΡΠΊΠ°Π·Π°Π½ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅:
CronJob ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Job ΡΠΌΠΎΡΡΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ LastscheduleTime Π² status: ΠΈ ΡΡΠΈΡΠ°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΡΠ»ΠΎ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°. Π Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π΅Π»ΠΈΠΊΠΎ, Π° ΡΠΎΡΠ½Π΅Π΅ Π·Π° ΡΡΠΎΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CronJob Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΠΎΡΡΠ°Π±ΠΎΡΠ°ΡΡ 100 ΡΠ°Π· ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅, Π½ΠΎ Ρ Π½Π΅Π΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ:
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΡΡΠΎ ΡΡΡΠ°Π½Π½ΠΎΠ΅: CronJob ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎΠ²ΡΠ΅ JobβΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π² Events, Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΠ°ΠΌ Π½Π΅Π΄ΠΎΠ»Π³ΠΎ. ΠΠ»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΄Π°Π»ΡΡΡ CronJob ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΅Π³ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ.
Π Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ°Π½Π½ΠΎΠ΅:
ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ startingDeadlineSeconds, ΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. 100 ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΠΊΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»ΠΎΠΆΠΈΡΡΡΡ Π² ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄, ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² ΡΡΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅. Ρ. Π΅. Π΅ΡΠ»ΠΈ Π² ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΡΠΎΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°Π· Π² ΠΌΠΈΠ½ΡΡΡ, Π° startingDeadlineSeconds ΠΌΠ΅Π½ΡΡΠ΅ 6000 ΡΠ΅ΠΊΡΠ½Π΄, ΡΠΎΠ³Π΄Π° CronJob Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅Π³Π΄Π°, Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅ Allow Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Job.
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΠΉ side-ΡΡΡΠ΅ΠΊΡ:
ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠΏΡΠΈΡ startingDeadlineSeconds ΡΠ°Π²Π½ΠΎΠΉ Π½ΡΠ»Ρ, JobβΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΡ startingDeadlineSeconds, ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠΈ, Π½ΠΎ Π½Π΅ Π½ΠΎΠ»Ρ.
ΠΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Forbid. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ 5 Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈ Π½Π°ΡΡΡΠΏΠΈΠ»ΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ 5 ΡΠ°Π· Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Job. ΠΡΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ CronJob
A cron job creates a job object about once per execution time of its schedule. We say «about» because there are certain circumstances where two jobs might be created, or no job might be created. We attempt to make these rare, but do not completely prevent them. Therefore, jobs should be idempotent.
ΠΠΎΠ»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π° ΡΡΡΡΠΊΠΈΠΉ:
CronJob ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Job ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Β«ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎΒ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π²Π° JobβΠ° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ»ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. ΠΡ Π΄Π΅Π»Π°Π΅ΠΌ Π²ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Π΄ΠΊΠΈΠΌΠΈ, Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, JobβΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½Ρ.
ΠΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½Ρ β Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ΅Π΄Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΈ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
Π ΠΎΠ±ΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ CronJob Π½Π° ΡΠ²ΠΎΠΉ ΡΡΡΠ°Ρ ΠΈ ΡΠΈΡΠΊ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ CronJob ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΠ΅Π½ ΡΠ°ΠΌΡΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ crond. ΠΠ΅Π· Π²ΡΠΊΡΡΡΠ°ΡΠΎΠ². Π‘ΡΠ°ΡΡΠΉ Π΄ΠΎΠ±ΡΡΠΉ cron ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΈ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π·Π°Π΄Π°ΡΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΠ°Π΄ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ, ΡΡΠΎΠ±Ρ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ΄Π° Ρ ΠΊΡΠΎΠ½ΠΎΠΌ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Ρ.
ΠΠ·ΡΡΠΈΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Kubernetes ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡΠ° Kubernetes ΠΠ°Π·Π°. Π ΠΎΠΊΡΡΠ±ΡΠ΅ 2020 ΠΌΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΊΡΡΡ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π΄Π΅ΡΡ.
ΠΠ²ΡΠΎΡ ΡΡΠ°ΡΡΠΈ: Π‘Π΅ΡΠ³Π΅ΠΉ ΠΠΎΠ½Π΄Π°ΡΠ΅Π² β ΠΏΡΠ°ΠΊΡΠΈΠΊΡΡΡΠΈΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ Southbridge, Certified Kubernetes Administrator, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² kubespray Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π½Π° ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ pull request.