forked from spotify/luigi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
event.py
32 lines (29 loc) · 1.45 KB
/
event.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: utf-8 -*-
#
# Copyright 2012-2015 Spotify AB
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
''' Definitions needed for events. See :ref:`Events` for info on how to use it.'''
class Event(object):
# TODO nice descriptive subclasses of Event instead of strings? pass their instances to the callback instead of an undocumented arg list?
DEPENDENCY_DISCOVERED = "event.core.dependency.discovered" # triggered for every (task, upstream task) pair discovered in a jobflow
DEPENDENCY_MISSING = "event.core.dependency.missing"
DEPENDENCY_PRESENT = "event.core.dependency.present"
BROKEN_TASK = "event.core.task.broken"
START = "event.core.start"
FAILURE = "event.core.failure"
SUCCESS = "event.core.success"
PROCESSING_TIME = "event.core.processing_time"
TIMEOUT = "event.core.timeout" # triggered if a task times out
PROCESS_FAILURE = "event.core.process_failure" # triggered if the process a task is running in dies unexpectedly