faint-accountant-77873
01/31/2025, 8:10 PMContainerTask
. However, when executing the workflow, I notice that the input directory in Task B is empty, even though Task A should have produced files there. However, when I implement the same tasks using the @task
decorator, everything works as expected.
Here is the sample code I’m using:
from flytekit import ContainerTask, workflow, kwtypes
from flytekit.types.directory import FlyteDirectory
# Task A: Writes files to a directory using ContainerTask
task_a = ContainerTask(
name="task_a",
image="alpine:latest",
command=[
"sh",
"-c",
"""
mkdir -p /var/outputs/output_dir
for i in $(seq 0 4); do
echo "This is file $i" > /var/outputs/output_dir/file_$i.txt
done
"""
],
inputs={},
outputs=kwtypes(output_dir=FlyteDirectory),
input_data_dir="/var/inputs",
output_data_dir="/var/outputs",
)
# Task B: Reads files from the directory using ContainerTask
task_b = ContainerTask(
name="task_b",
image="alpine:latest",
command=[
"sh",
"-c",
"""
input_dir=/var/inputs/input_dir
echo "Input directory: $input_dir"
files=$(ls $input_dir)
echo "Files in directory: $files"
num_files=$(ls -1 $input_dir | wc -l)
echo "Number of files: $num_files"
echo $num_files > /var/outputs/result.txt
"""
],
inputs=kwtypes(input_dir=FlyteDirectory),
outputs=kwtypes(result=int),
input_data_dir="/var/inputs",
output_data_dir="/var/outputs",
)
# Workflow that connects Task A and Task B
@workflow
def directory_workflow() -> int:
dir_output = task_a().output_dir
result = task_b(input_dir=dir_output).result
return result
What could be the issue? Thanks!freezing-airport-6809
tall-lock-23197
damp-lion-88352
02/01/2025, 1:05 AMfreezing-airport-6809
freezing-airport-6809
freezing-airport-6809
damp-lion-88352
02/01/2025, 1:31 AMdamp-lion-88352
02/01/2025, 1:31 AMfaint-accountant-77873
02/03/2025, 1:01 PMtall-lock-23197
damp-lion-88352
02/06/2025, 11:29 PMdamp-lion-88352
02/06/2025, 11:29 PM@workflow
def directory_workflow() -> int:
dir_output = task_a()
result = task_b(input_dir=dir_output).result
return result
damp-lion-88352
02/06/2025, 11:29 PMdamp-lion-88352
02/06/2025, 11:29 PMdamp-lion-88352
02/06/2025, 11:29 PMdamp-lion-88352
02/06/2025, 11:30 PM