blob: 7199b57ba94960f59a6c698f491574317813e7a6 [file]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
# NOTE: This file contains nodes for the test 'test_logging_parallel_nodes' in
# test_logging_task_nodes.py. They are required to be in a separate file in order to properly
# test the multi-processing executor.
from hamilton.htypes import Collect, Parallelizable
from hamilton.plugins.h_logging import get_logger
def b() -> int:
return 5
def c(b: int) -> Parallelizable[int]:
for i in range(b):
yield i
def d(c: int) -> int:
logger = get_logger("test_logging_parallel_nodes")
logger.warning("Context aware message")
return 2 * c
def e(d: Collect[int]) -> int:
return sum(d)
def f(e: int) -> int:
return e