Resolvers
Execute resolver runs via API
In addition to scheduling resolver executions, Chalk allows you to trigger resolver executions programmatically via the Chalk Client, CLI and REST API.
Using the Chalk Client, you can trigger a resolver run using the trigger_resolver_run
command.
from chalk.client import ChalkClient
ChalkClient().trigger_resolver_run(resolver_fqn="load_user_data", store_online=True)
To read more about how to specify parameters like upper_bound, lower_bound, store_online, store_offline, and idempotency_key, check out our API documentation.
The chalk trigger
command allows you to trigger a resolver execution via the CLI.
$ chalk trigger --resolver my.module.fn
ID: j-2qtwuxpskm2pbg
Status: Received
URL: https://chalk.ai/runs/j-2qtwuxpskm2pbg
To read more about how to specify flags like deployment, persist-online, persist-offline, and idempotency-key, check out our CLI documentation.
Using the trigger
API endpoint allows you to build custom integrations with other
data orchestration tools like Airflow.
The trigger
endpoint will return within 300 seconds, even if the
triggered run takes longer to execute. If the returned status is received
,
you should poll the v1/runs/{id}
endpoint until status
transitions to succeeded
or failed
.
It is also possible to manually trigger resolver executions via the Chalk dashboard, on the details page for the resolver you would like to run. The same input parameters are available in the dashboard.
Note: if you use a user-scoped token (i.e. one that’s derived from chalk login
) you will need to
specify the environment in which to trigger your resolver via the X-Chalk-Env-id
header.
resolver_fqnstring
lower_boundtimestamp
upper_boundtimestamp
max_samplesnumber
idstring
statusenum
curl -XPOST -H "Authorization: Bearer $(chalk token)" \
-H "X-Chalk-Env-Id: <your-environment-id>" \
-H "Content-Type: application/json" \
https://api.chalk.ai/v1/runs/trigger \
-d '{ "resolver_fqn": "neobank.resolvers.offline_get_transactions" }'
# Returns
{
"id": "<run-id>",
"status": "succeeded"
}
id
idstring
statusenum
curI -H "Authorization: Bearer $(chalk token)" \
-H "X-Chalk-Env-Id: <your-environment-id>" \
https://api.chalk.ai/v1/runs/{run_id}