Auster Cid
09/06/2021, 7:15 PMTobias Südkamp
01/21/2022, 3:13 PMgeoHeil
02/02/2022, 9:00 PMAlex Service
02/11/2022, 9:24 PM$DAGSTER_HOME
! If you’re unsure, don’t run it
How to use it:
• Add to your .bashrc
, .bash_profile
, or other appropriate file
• reload your terminal or source
the file above
• dagprune name_of_your_op
How it works:
The script checks for the existence of a name_of_your_op.complete
file exists in the logs and if a corresponding IO directory also exists, then removes everything in the run’s directory except for the compute_logs
directory. Technically, you could specify any op, but the intended use is for cleaning up outputs from successfully-completed runs (we leave failures alone, since we might actually want to re-run them from their point of failure)
dagprune() {
if [ -z "$DAGSTER_HOME" ]; then
echo "Make sure to set env var DAGSTER_HOME before running this command"
exit 1
fi
FINAL_OP="$1"
for rundir in $DAGSTER_HOME/storage/*/; do
FILE="$rundir/compute_logs/$FINAL_OP.complete"
FINAL_OP_DIR="$rundir/$FINAL_OP"
if [ -f "$FILE" ] && [ -d "$FINAL_OP_DIR" ]; then
echo "Completed run found. Cleaning op outputs in $rundir"
pushd $rundir > /dev/null
find -type d -not \( -name 'compute_logs' -or -name '.' \) -exec rm -rf "{}" \;
popd > /dev/null
fi
done
}
Martin Carlsson
02/15/2022, 9:55 PMAlex Service
03/08/2022, 5:36 AMReload
in dagit; don’t have to restart the container!)
• Tractable package management using poetry
. No more hideous pip freeze > requirements.txt
• Packages the source code according to PEP517 & PEP518
In the near future, I also plan on releasing a technical blog post that dives into how poetry works and how the Dockerfile was designedgeoHeil
03/19/2022, 9:19 PMAlex Service
03/26/2022, 3:27 AMMollie
03/28/2022, 7:37 PMMatt Delacour
03/31/2022, 2:08 PMLorenzo Riches
03/31/2022, 3:29 PMKevin Haynes
04/07/2022, 2:00 PMAabir Abubaker Kar
04/11/2022, 5:42 PMStephen Bailey
05/03/2022, 5:08 PMZach
05/04/2022, 2:18 PM@op(
config_schema = {'param': Field(SSMSource)}
)
def do_something(context):
ssm_param_value = context.op_config['param']
...
ops:
do_something:
param:
ssm_config:
param_name: some_param_in_ssm
encrypted: True
OR
ops:
do_something:
param: some_scalar_value
and then some_param_in_ssm gets replaced with the value found in AWS Systems Manager Parameter Store at runtime.
my only hangup with it currently is that it needs a boto3 connection outside of when you have access to dagster context resources, so it's a bit harder to mock that part out if you're testing run configs that try to retrieve values from SSM - but generally you can pass scalar strings into you run_config when testing instead of using the ssm_config selector to avoid the boto3 connection.Roel Hogervorst
05/12/2022, 12:03 PMSimon Späti
06/14/2022, 4:30 PMmansoor hassan
06/19/2022, 9:57 AMPieter Custers
07/14/2022, 2:04 PMclaire
07/14/2022, 10:56 PMMollie
07/15/2022, 6:49 PMAbdul Haris Djafar
07/28/2022, 10:24 AMStefan Samba
08/12/2022, 7:37 AMDevjit Chakravarti
08/16/2022, 6:22 PMFraser Marlow
08/26/2022, 8:15 PMCharlie Bini
08/26/2022, 9:39 PMDavid Jayatillake
09/14/2022, 3:49 PMFraser Marlow
10/07/2022, 3:44 PMДаниил Конев
10/12/2022, 10:53 AM