20#include "ignite/client/compute/job_state.h"
21#include "ignite/client/network/cluster_node.h"
22#include "ignite/common/detail/config.h"
23#include "ignite/common/ignite_result.h"
24#include "ignite/common/binary_object.h"
25#include "ignite/common/uuid.h"
32class job_execution_impl;
62 explicit job_execution(std::shared_ptr<detail::job_execution_impl> impl)
63 : m_impl(std::move(impl)) {}
86 IGNITE_API
void get_state_async(ignite_callback<std::optional<job_state>> callback);
96 return sync<std::optional<job_state>>(
97 [
this](
auto callback)
mutable {
get_state_async(std::move(callback)); });
107 IGNITE_API
void get_result_async(ignite_callback<std::optional<binary_object>> callback);
117 return sync<std::optional<binary_object>>(
126 IGNITE_API
void cancel_async(ignite_callback<operation_result> callback);
134 return sync<operation_result>([
this](
auto callback)
mutable {
cancel_async(std::move(callback)); });
144 IGNITE_API
void change_priority_async(std::int32_t priority, ignite_callback<operation_result> callback);
154 return sync<operation_result>(
160 std::shared_ptr<detail::job_execution_impl> m_impl{};
Definition cluster_node.h:30
Definition job_execution.h:38
IGNITE_API void get_state_async(ignite_callback< std::optional< job_state > > callback)
Definition job_execution.cpp:31
IGNITE_API const cluster_node & get_node() const
Definition job_execution.cpp:27
IGNITE_API void change_priority_async(std::int32_t priority, ignite_callback< operation_result > callback)
Definition job_execution.cpp:43
IGNITE_API std::optional< job_state > get_state()
Definition job_execution.h:95
IGNITE_API uuid get_id() const
Definition job_execution.cpp:23
IGNITE_API void cancel_async(ignite_callback< operation_result > callback)
Definition job_execution.cpp:39
job_execution(std::shared_ptr< detail::job_execution_impl > impl)
Definition job_execution.h:62
IGNITE_API operation_result change_priority(std::int32_t priority)
Definition job_execution.h:153
IGNITE_API std::optional< binary_object > get_result()
Definition job_execution.h:116
IGNITE_API void get_result_async(ignite_callback< std::optional< binary_object > > callback)
Definition job_execution.cpp:35
IGNITE_API operation_result cancel()
Definition job_execution.h:133
operation_result
Definition job_execution.h:43
@ INVALID_STATE
The job has already finished.
Definition job_execution.h:48
@ NOT_FOUND
The job was not found (no longer exists due to exceeding the retention time limit).
Definition job_execution.h:51
@ SUCCESS
The job operation was successfully complete.
Definition job_execution.h:45
Universally unique identifier (UUID).
Definition uuid.h:32