@Hao Ma , there is such a setting in compiler flags:  - e. But usually it is a very dangerous idea not to store global storage within the persistent class. As the storage is being generated, if not presented in a code on a target machine, it can become completely different from the data associated with the class that already exists, and this can lead to unpredictable data losses and failures. 

So usually, it is not recommended practice to delete the storage information from the class other than you are sure that there is no data in the system or it is deleted in advance.

Nice article @Hiroshi Sato !

Similar behavior can be achieved also with iris-cron-task app. 

Can be installed as:

USER>zpm "install iris-cron-task"

and used as the following (run every day at midnight with cron expression for the schedule):

USER>zw ##class(dc.cron.task).Start("IRIS cron task name","0 0 * * *","do ^Test",1,.taskId)

Just've tried now:

docker run --rm --name iris-demo -d -p 29091:1972 -p 29092:52773   intersystemsdc/iris-community:preview

c9ef4f36c293f813e968bd0b2b504f9894220184623ebc3cb415360241a5f98e

$ docker exec -it iris-demo iris session iris


Node: c9ef4f36c293, Instance: IRIS


USER>w $zv

IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2024.1 (Build 244U) Tue Feb 20 2024 17:07:18 EST

USER>