-
Notifications
You must be signed in to change notification settings - Fork 619
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FlyIn Flytekit Plugin #4284
Comments
AutoContainer
) task typesAutoContainer
) task to a vscode server
AutoContainer
) task to a vscode serverAutoContainer
) task to a vscode server
Note: Got a very cool idea from flyte community sync regarding vscode plugin. The current drawback of vscode is that we cannot easily execute the task with task inputs unless we copy the command from pod yaml. the proposal is that we can inject a launch.json to vscode container with all commands set up and users can easily click one button to iterate on the tasks with task inputs. Furthermore, we download the input protobuf to the container, and convert that to a json, so users can easily change the input themselves
the experience will be like, users enter the vscode, and click one button the execute the task with task inputs |
Given this example ... from flytekit import task, workflow
@task
def foo(inp: int = 1):
print(f"bar {inp}")
@workflow
def wf():
foo() ... we could automatically inject a I don't see a good solution yet for providing a way to override task args that are offloaded to blob storage and which one cannot pass as CLI args yet. That being said, I'm not sure this even needs to be possible. I think it would be fair to only allow overriding primitive types via |
I've added the sandbox email publisher 3 months ago. Here are the advice from @ByronHsu
PR Link: flyteorg/flyteadmin#595 |
AutoContainer
) task to a vscode server
Motivation: Why do you think this is important?
When
Flyte users might
time.sleep
the task,ssh
inside, and develop/debug. However, using raw terminal to do so is cumbersome and unintuitive. For example, in multi-level directories structure or complex code base that need heavy navigation, users may feel pretty frustrated with the terminal environment.I propose that we can add a decorator as a flyte plugin and enable users to turn any tasks to vscode server in just one line.
Goal: What should the final outcome look like, ideally?
@vscode
provides an simple way for users to run the task as a interactive vscode server with any image.@vscode
is a decorator which users can put within@task
and user function.By doing so, the task will install vscode dependencies and run a vscode server instead of the user defined functions. Also, it starts a exit handler which keeps polling the status of the heartbeat file and terminate if the server is idle for a set duration. This is very important because the pod is most likely using several GPU's, so we want to free them for other users.
Heartbeat file can monitor the active connection to the code-server
Vscode example screenshot:
Describe alternatives you've considered
Sleep the pod and ssh
Propose: Link/Inline OR Additional context
No response
Are you sure this issue hasn't been raised already?
Have you read the Code of Conduct?
Tasks
The text was updated successfully, but these errors were encountered: