Mongo Backend
- class arend.backends.mongo.MongoSettings(*, mongo_connection: str, mongo_db: str, mongo_collection: str)
Mongo Settings. Defines settings for Mongo Backend
- class arend.backends.mongo.MongoTask(*, uuid: UUID = None, name: str, description: str = None, location: str = 'tasks', status: str = 'SCHEDULED', result: str = None, detail: Optional[str] = None, start_time: Optional[datetime] = None, end_time: Optional[datetime] = None, args: tuple = None, kwargs: dict = None, queue: str, delay: int = 0, priority: int = 1, count_retries: int = 0, max_retries: int = 3, retry_backoff_factor: int = 1, created: datetime = None, updated: datetime = None)
MongoTask class. Defines the Task Model for Mongo Backend
Usage:
>>> from arend.backends.mongo import MongoSettings >>> >>> settings = MongoSettings( >>> mongo_connection="mongodb://user:pass@mongo:27017", >>> mongo_db="db", >>> mongo_collection="Tasks" >>> ) >>> MongoTask = MongoSettings.get_backend() # type: Type[MongoTask] >>> task = MongoTask(name="My task", ...) >>> task.save() >>> >>> assert task.dict() == {"name": "My task", ...} >>> assert task.json() == '{"name": "My task", ...}' >>> >>> task = MongoTask.get(uuid=UUID("<your-uuid>")) >>> assert task.description == "A cool task" >>> >>> assert task.delete() == 1 >>> assert task.delete() == 0
- delete() int
Deletes object in DataBase
Usage:
>>> assert task.delete() == 1 # count deleted 1 >>> assert task.delete() == 0 # count deleted 0