The type signature of the value returned by TaskStoreExecutor.create_result needs to be the type of the output of the function as opposed to the type signature of the function.
Add a status request to the protos and gRPC interface. This can be used to monitor the status of the taskstore.
Define a proto to contain data that should be serialized to disk for persistence
This should fix https://github.com/jlewi/flaap/issues/15 by making all of the serialized values protocol buffers and using protojson to marshal and unmarshal the data
Previously we were mixing golang structs and protos and that seemed to be the source of the serialization issues
Add helper functions which use go-cmd to run commands asynchronously and stream the output.
Make it easy to stream the output to a file so we can capture the logs of each subprocess in the E2E to a separate file.
Change the Task proto to not depend on TFF protos; instead store TFF values as opaque bytes. This is because to deserialize/serialize the protos in Go we would need to have GoLang generated protocol buffers which we don't have.
Fix the definition of UpdateRequest in the proto definitions; the worker_id needs to be provided as part of the RPC so server can verify that task is only being updated by worker its assigned to.
Fix bug in task_handler; not sending worker_id in update request.
Start multiple workers because the E2E test appears to be creating tasks for multiple workers. This is a hack to try to make the test work. Its not clear why this is happening. Created https://github.com/jlewi/flaap/issues/20 to follow up on it later.
E2E test is a go binary that runs everything as subprocesses
The E2E test doesn't pass yet because it surfaced some issues (https://github.com/jlewi/flaap/issues/19) that will take some time to resolve
Create the subprocess package with some helper code for shelling out
For the E2E create a simple sample program fed_average.py
E2E test cause and fixed several bugs
type_signture needs to a property not a function of TaskInputValue ; fix https://github.com/jlewi/flaap/issues/13
Fix https://github.com/jlewi/flaap/issues/14
The type signature of the value returned by TaskStoreExecutor.create_result needs to be the type of the output of the function as opposed to the type signature of the function.
Add a status request to the protos and gRPC interface. This can be used to monitor the status of the taskstore.
Fix a bug in how taskstore state is serialized and persisted (https://github.com/jlewi/flaap/issues/15)
Define a proto to contain data that should be serialized to disk for persistence
This should fix https://github.com/jlewi/flaap/issues/15 by making all of the serialized values protocol buffers and using protojson to marshal and unmarshal the data
Previously we were mixing golang structs and protos and that seemed to be the source of the serialization issues
Add helper functions which use go-cmd to run commands asynchronously and stream the output.
Fix serialization/deserialization of proto issues in https://github.com/jlewi/flaap/issues/16
Fix https://github.com/jlewi/flaap/issues/17; taskstore server needs to actually invoke the Update method on an Update request
Fix the definition of UpdateRequest in the proto definitions; the worker_id needs to be provided as part of the RPC so server can verify that task is only being updated by worker its assigned to.
Fix bug in task_handler; not sending worker_id in update request.
Start multiple workers because the E2E test appears to be creating tasks for multiple workers. This is a hack to try to make the test work. Its not clear why this is happening. Created https://github.com/jlewi/flaap/issues/20 to follow up on it later.