Bradley Worley
03/09/2023, 6:44 PMfrom flytekit import Workflow
from flytekit.configuration import (
Config,
SerializationSettings,
)
from flytekit.remote import FlyteRemote
remote = FlyteRemote(
config=Config.auto(config_file=MY_CONFIG_PATH),
default_project=MY_PROJECT,
default_domain=MY_DOMAIN,
data_upload_location=MY_S3_BUCKET,
)
workflow = Workflow(f"my.workflows.{wf_name}")
# build out the workflow ...
ss = SerializationSettings.for_image(
image=f"{DOCKER_HOST}/flyte_workflow:latest",
version=version_str,
project=MY_PROJECT,
domain=MY_DOMAIN,
)
remote.register_workflow(
workflow,
serialization_settings=ss,
)
execution = remote.execute(
workflow,
inputs=inputs,
wait=False,
project=MY_PROJECT,
domain=MY_DOMAIN,
)
[1/1] currentAttempt done. Last Error: USER::Pod failed. No message received from kubernetes.
[f52a73cdf369d4ded82b-n0-0] terminated with exit code (1). Reason [Error]. Message:
ask_cmd
_execute_task(
File "/app/pip_pypi__flytekit/flytekit/exceptions/scopes.py", line 160, in system_entry_point
return wrapped(*args, **kwargs)
...
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'melody'
pyflyte-execute
is getting a different --resolver
in the failed run:
melody.pip_pypi__flytekit.flytekit.core.python_auto_container.default_task_resolver
Successful runs (that do not use imperative workflows) show this resolver:
app.pip_pypi__flytekit.flytekit.core.python_auto_container.default_task_resolver
Yee
Bradley Worley
03/09/2023, 9:14 PMmy_repo.melody.sub.module
(my_repo/melody/sub/module.py
)Yee
Bradley Worley
03/09/2023, 9:15 PMbazel run
Yee
Bradley Worley
03/09/2023, 9:29 PMYee
Bradley Worley
03/09/2023, 9:35 PMYee
Bradley Worley
03/09/2023, 9:35 PMYee
Bradley Worley
03/09/2023, 9:36 PM@dynamic
from that filepyflyte register --image same_image $REPO_ROOT/my_repo/melody/sub/module.py
And then calling remote.execute()
similarly