Skip to content

Commit

Permalink
Update values within InLatestTimeWindow
Browse files Browse the repository at this point in the history
  • Loading branch information
OwenKephart committed May 3, 2024
1 parent c3c890f commit d63a0f5
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,36 @@ def compute_slice(self, context: SchedulingContext) -> AssetSlice:

@whitelist_for_serdes
class InLatestTimeWindowCondition(SliceSchedulingCondition):
lookback_seconds: Optional[float] = None
lookback_days: int = 0
lookback_seconds: int = 0
lookback_microseconds: int = 0

@staticmethod
def from_lookback_delta(
lookback_delta: Optional[datetime.timedelta],
) -> "InLatestTimeWindowCondition":
return (
InLatestTimeWindowCondition(
lookback_days=lookback_delta.days,
lookback_seconds=lookback_delta.seconds,
lookback_microseconds=lookback_delta.microseconds,
)
if lookback_delta
else InLatestTimeWindowCondition()
)

@property
def timedelta(self) -> Optional[datetime.timedelta]:
return datetime.timedelta(seconds=self.lookback_seconds) if self.lookback_seconds else None
has_lookback = any([self.lookback_days, self.lookback_seconds, self.lookback_microseconds])
return (
datetime.timedelta(
days=self.lookback_days,
seconds=self.lookback_seconds,
microseconds=self.lookback_microseconds,
)
if has_lookback
else None
)

@property
def description(self) -> str:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,7 @@ def in_latest_time_window(
"""
from .operands import InLatestTimeWindowCondition

return InLatestTimeWindowCondition(
lookback_seconds=lookback_delta.total_seconds() if lookback_delta else None
)
return InLatestTimeWindowCondition.from_lookback_delta(lookback_delta)


class SchedulingResult(DagsterModel):
Expand Down

0 comments on commit d63a0f5

Please sign in to comment.