Documentation
¶
Index ¶
- func DefaultPanicHandler(panicErr interface{})
- type GoroutineManager
- func (gm *GoroutineManager) AddTask(name string, task func(ctx context.Context))
- func (gm *GoroutineManager) RemoveTask(name string, timeout time.Duration) error
- func (gm *GoroutineManager) Start(name string) error
- func (gm *GoroutineManager) StartAll()
- func (gm *GoroutineManager) Stop(name string, timeout time.Duration) error
- func (gm *GoroutineManager) StopAll(timeout time.Duration) error
- type PanicHandleFunc
- type WaitError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultPanicHandler ¶
func DefaultPanicHandler(panicErr interface{})
DefaultPanicHandler 기본 패닉 핸들러 함수
Parameters:
- panicErr: 패닉 에러
Types ¶
type GoroutineManager ¶
type GoroutineManager struct {
PanicHandler PanicHandleFunc
// contains filtered or unexported fields
}
GoroutineManager 전체 고루틴 관리 정보 구조체
func NewGoroutineManager ¶
func NewGoroutineManager() *GoroutineManager
NewGoroutineManager 고루틴 관리 구조체 생성
Returns:
- *GoroutineManager
func (*GoroutineManager) AddTask ¶
func (gm *GoroutineManager) AddTask(name string, task func(ctx context.Context))
AddTask 고루틴을 작업에 등록
Parameters:
- name: 작업명 (key)
- task: function (value)
func (*GoroutineManager) RemoveTask ¶
func (gm *GoroutineManager) RemoveTask(name string, timeout time.Duration) error
RemoveTask 고루틴 종료 및 작업 제거
Parameters:
- name: 작업명
- timeout: WaitGroup 타임아웃
Returns:
- error: 성공(nil), 타임아웃 발생(error)
func (*GoroutineManager) Start ¶
func (gm *GoroutineManager) Start(name string) error
Start 작업에 등록된 개별 고루틴 가동
Parameters:
- name: 작업명
Returns:
- error: 성공(nil), 실패(error)
func (*GoroutineManager) StartAll ¶
func (gm *GoroutineManager) StartAll()
StartAll 작업에 등록된 모든 고루틴 가동
type WaitError ¶
type WaitError int
func WaitCancelWithTimeout ¶
WaitCancelWithTimeout 컨텍스트 종료 타임아웃 대기
Parameters:
- ctx: context
- timeout: 타임아웃
Returns:
- WaitError: 종료 신호 수신(WaitSuccess), 타임아웃 발생(WaitTimeout)
Click to show internal directories.
Click to hide internal directories.