augray
augray
From [python logging cookbook](https://docs.python.org/3/howto/logging-cookbook.html#deploying-web-applications-using-gunicorn-and-uwsgi): > When deploying Web applications using [Gunicorn](https://gunicorn.org/) or [uWSGI](https://uwsgi-docs.readthedocs.io/en/latest/) (or similar), multiple worker processes are created to handle client requests. In such environments, avoid creating file-based...
It could get tricky to verify that runs are always in a valid state, especially given how we dual represent some things in-memory and on the DB (both of which...
Some circumstances may involve calling multiple run targets, with only one of them actually needing command line arguments. The current behavior is that all run targets get the arguments passed...
There are a lot of behaviors that will work in Sematic if you use a dataclass, but not when you use a "normal" class. We should document these so people...
When a docker image is built using the docker builder, it uses an entrypoint bash script defined [here](https://github.com/sematic-ai/sematic/blob/989ffbf4038301d0e80dfe6ad4e56d9a6b0a2fce/sematic/plugins/building/docker_builder.py#L58-L60). If the k8s pod this is running in receives a signal (ex:...
It could be useful for debugging purposes to be able to see the full pod spec in the "pods" tab. Ex: to see whether the node selectors look right if...
If you try to visit a URL for a run that doesn't exist (ex: `https://josh.dev-usw2-sematic0.sematic.cloud/runs/11111111111111111111111111111111`), you just get a blank page without a helpful error message. We should present a...
When k8s errors happen (like is detected [here](https://github.com/sematic-ai/sematic/blob/main/sematic/api/endpoints/runs.py#L314-L318)), we should ideally retry automatically (i.e. even if retry settings were not explicitly added) as these are likely to be transient errors....
This is a common pattern: ```python @dataclass class Foo: foo: int bar: int @sematic.func def pipeline() -> Foo: some_int_result = some_sematic_func() # this currently breaks return Foo(foo=some_int_result, bar=42) ``` But...
This will both (a) help ensure the examples continue to work and (b) be a good example of how to use the mocking functionality