DisableConcurrentExecution(timeout:0)
(0 μ¬μλ)λ₯Ό μ¬μ©νλ
"건λλ΄" μμ
μ΄ λμ보λμμ failed
νλκ·Έκ° μ§μ λλ κ²μ μνμ§ μμΌλ―λ‘ DisableConcurrentExecutionAttribute
μ κ±°μ λμΌν SkipConcurrentExecutionAttribute
λ₯Ό μΆκ°νκ³ μΆμμ΅λλ€. μ κΈ νλμ μλ/μΊμΉνκ³ DistributedLockTimeoutException
μΌν€κ³ κ·Έ μ΄μ μ ν¨κ» μμ
μ DeletedState
λ‘ μ€μ ν©λλ€.
κ·Έλ¬λ GetResource() κ° λΉκ³΅κ°μ΄κ³ ν΄λΉ ꡬνμ΄ λΌμ΄λΈλ¬λ¦¬ λ΄λΆμ μλ λ€λ₯Έ λ©μλλ₯Ό μ°Έμ‘°νκΈ° λλ¬Έμ μ΄ μμ
μ μ λλ‘ μνν μ μμ΅λλ€.
$"{job.Type.ToGenericTypeString()}.{job.Method.Name}"
μΆ©λνμ§ μλ λΆμ° μ κΈ μ΄λ¦μ μμ±νλ μμ ν λ°©λ²μΈ κ² κ°μ§λ§ μ°Έμ‘°ν μ μμ΅λλ€.
μμ
μ λΆμ° μ κΈ μ΄λ¦μ μμ±νλ κ³΅κ° λ©μλλ₯Ό libμ ν¬ν¨ν μ μμ΅λκΉ?
μ°Έμ‘°, https://discuss.hangfire.io/t/disableconcurentexecution-for-job-groups/1389/4
λ°©κΈ filterContext.BackgroundJob.Job.ToString()
κ° λ΄λΆ TypeExtensions.cs λ° DisableConcurrentExecutionAttribute.cs (μ¬)ꡬνμ΄... λ¬Έμ κ° ν΄κ²°λ κ²κ³Ό λμΌν λ¬Έμμ΄μ μ 곡νλ€λ κ²μ μμμ΅λλ€.
@dgaspar , λ°λ³΅ μμ μ€μΌμ€λ¬μκ² λ€μ λ°λ³΅ μμ μμ±μ 건λλ°λλ‘ https://gist.github.com/odinserj/a6ad7ba6686076c9b9b2e03fcf6bf74e.
@odinserj μ μ κ°μ¬ν©λλ€. μμ
μκ° μ€ν μ€μ μΆ©λνλ κ²½μ° ν΄λΉ "μ€ν μ€" νμ΄ ν΄μ ν
μ΄λΈμ λ¨μ μμμ μμμ΅λλ€. ν΄λΉ νμ μλμΌλ‘ μμ ν λκΉμ§ μμ
μ΄ λ€μ μμ½λλ κ²μ λ°©μ§ν©λκΉ? μλλ©΄ λλ½λ λ§λ£/μ 리 νλͺ©μ΄ μμ΅λκΉ? (btw, μ€μν κ²½μ° new SqlServerStorageOptions { SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5) }
λ₯Ό μ¬μ©νκ³ μμ΅λλ€.)
μμ μκ° λ°±κ·ΈλΌμ΄λ μμ μ μ€ννλ λμ μ’ λ£λλ©΄ λͺ¨λ λ©μμ§ λκΈ°μ΄μ΄ νΈλμμ μ΄κΈ° λλ¬Έμ λ°±κ·ΈλΌμ΄λ μμ μ΄ μλμΌλ‘ λ€μ μμ½λ©λλ€(μ μ΄λ 곡μ λκΈ°μ΄, λ€λ₯Έ μ€ν λ¦¬μ§ κ΅¬νμ λμΌν λ°©μμΌλ‘ μλν΄μΌ ν¨).
κ°μ₯ μ μ©ν λκΈ
@dgaspar , λ°λ³΅ μμ μ€μΌμ€λ¬μκ² λ€μ λ°λ³΅ μμ μμ±μ 건λλ°λλ‘ https://gist.github.com/odinserj/a6ad7ba6686076c9b9b2e03fcf6bf74e.