mirror of
https://github.com/wassname/ray.git
synced 2026-07-02 06:47:50 +08:00
12fdb3f53a
* Define execution dependencies flatbuffer and add to Redis commands * Convert TaskSpec to TaskExecutionSpec * Add execution dependencies to Python bindings * Submitting actor tasks uses execution dependency API instead of dummy argument * Fix dependency getters and some cleanup for fetching missing dependencies * C++ convention * Make TaskExecutionSpec a C++ class * Convert local scheduler to use TaskExecutionSpec class * Convert some pointers to references * Finish conversion to TaskExecutionSpec class * fix * Fix * Fix memory errors? * Cast flatbuffers GetSize to size_t * Fixes * add more retries in global scheduler unit test * fix linting and cast fbb.GetSize to size_t * Style and doc * Fix linting and simplify from_flatbuf.
58 lines
1.2 KiB
C++
58 lines
1.2 KiB
C++
#ifndef COMMON_EXTENSION_H
|
|
#define COMMON_EXTENSION_H
|
|
|
|
#include <vector>
|
|
|
|
#include <Python.h>
|
|
#include "marshal.h"
|
|
#include "structmember.h"
|
|
|
|
#include "common.h"
|
|
|
|
typedef uint8_t TaskSpec;
|
|
class TaskBuilder;
|
|
|
|
extern PyObject *CommonError;
|
|
|
|
// clang-format off
|
|
typedef struct {
|
|
PyObject_HEAD
|
|
ObjectID object_id;
|
|
} PyObjectID;
|
|
|
|
typedef struct {
|
|
PyObject_HEAD
|
|
int64_t size;
|
|
TaskSpec *spec;
|
|
std::vector<ObjectID> *execution_dependencies;
|
|
} PyTask;
|
|
// clang-format on
|
|
|
|
extern PyTypeObject PyObjectIDType;
|
|
|
|
extern PyTypeObject PyTaskType;
|
|
|
|
/* Python module for pickling. */
|
|
extern PyObject *pickle_module;
|
|
extern PyObject *pickle_dumps;
|
|
extern PyObject *pickle_loads;
|
|
|
|
void init_pickle_module(void);
|
|
|
|
extern TaskBuilder *g_task_builder;
|
|
|
|
int PyStringToUniqueID(PyObject *object, ObjectID *object_id);
|
|
|
|
int PyObjectToUniqueID(PyObject *object, ObjectID *object_id);
|
|
|
|
PyObject *PyObjectID_make(ObjectID object_id);
|
|
|
|
PyObject *check_simple_value(PyObject *self, PyObject *args);
|
|
|
|
PyObject *PyTask_to_string(PyObject *, PyObject *args);
|
|
PyObject *PyTask_from_string(PyObject *, PyObject *args);
|
|
|
|
PyObject *PyTask_make(TaskSpec *task_spec, int64_t task_size);
|
|
|
|
#endif /* COMMON_EXTENSION_H */
|