Skip to content

Budget handling behaviour #541

@soxofaan

Description

@soxofaan

When creating a batch job, there is a field budget described as:

Maximum amount of costs the request is allowed to produce. The value MUST be specified in the currency of the back-end. No limits apply, if the value is null or the back-end has no currency set in GET /.

Some questions and discussion points:

  • What if a backend does not check the budget?
    • E.g in the geopyspark backend implementation we currently do not check this budget field for example and blindly execute the job (as long as the user has credits). The main problem is that we can not reliable predict the cost of a job, so it's currently counter-productive to put hard blockers in place here.
    • Is not checking the budget an API violation?
    • should there be a backend capabilities entry about support for budget? E.g. In the python client we support the budget field when creating a job, but it's confusing when that is not being honored by the backend. It would be better if we can warn/error about that client-side.
  • In the context of hard to predict costs, is it ok to cancel a job when at the time it goes over budget (assuming cost can be tracked real time)? This would practically mean that the job will fail (so no results) and the user will be charged with the cost? Or should the budget be checked before actual processing, so that the user does not risk being charged for something that is killed by the backend?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions