-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rewrite documentation for readthedocs.io (#128)
* Rewrite documentation for readthedocs.io * Fixed tests & docs
- Loading branch information
1 parent
637dc99
commit 7459d16
Showing
93 changed files
with
2,685 additions
and
1,418 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
|
||
# Created by https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks | ||
# Edit at https://www.toptal.com/developers/gitignore?templates=python,jupyternotebooks | ||
|
||
/.idea | ||
|
||
### JupyterNotebooks ### | ||
# gitignore template for Jupyter Notebooks | ||
# website: http://jupyter.org/ | ||
|
||
.ipynb_checkpoints | ||
*/.ipynb_checkpoints/* | ||
|
||
# IPython | ||
profile_default/ | ||
ipython_config.py | ||
|
||
# Remove previous ipynb_checkpoints | ||
# git rm -r .ipynb_checkpoints/ | ||
|
||
### Python ### | ||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
*$py.class | ||
|
||
# C extensions | ||
*.so | ||
|
||
# Distribution / packaging | ||
.Python | ||
build/ | ||
develop-eggs/ | ||
dist/ | ||
downloads/ | ||
eggs/ | ||
.eggs/ | ||
lib/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
wheels/ | ||
share/python-wheels/ | ||
*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
MANIFEST | ||
|
||
# PyInstaller | ||
# Usually these files are written by a python script from a template | ||
# before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
*.manifest | ||
*.spec | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
htmlcov/ | ||
.tox/ | ||
.nox/ | ||
.coverage | ||
.coverage.* | ||
.cache | ||
nosetests.xml | ||
coverage.xml | ||
*.cover | ||
*.py,cover | ||
.hypothesis/ | ||
.pytest_cache/ | ||
cover/ | ||
|
||
# Translations | ||
*.mo | ||
*.pot | ||
|
||
# Django stuff: | ||
*.log | ||
local_settings.py | ||
db.sqlite3 | ||
db.sqlite3-journal | ||
|
||
# Flask stuff: | ||
instance/ | ||
.webassets-cache | ||
|
||
# Scrapy stuff: | ||
.scrapy | ||
|
||
# Sphinx documentation | ||
docs/_build/ | ||
|
||
# PyBuilder | ||
.pybuilder/ | ||
target/ | ||
|
||
# Jupyter Notebook | ||
|
||
# IPython | ||
|
||
# pyenv | ||
# For a library or package, you might want to ignore these files since the code is | ||
# intended to run in multiple environments; otherwise, check them in: | ||
# .python-version | ||
|
||
# pipenv | ||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. | ||
# However, in case of collaboration, if having platform-specific dependencies or dependencies | ||
# having no cross-platform support, pipenv may install dependencies that don't work, or not | ||
# install all needed dependencies. | ||
#Pipfile.lock | ||
|
||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow | ||
__pypackages__/ | ||
|
||
# Celery stuff | ||
celerybeat-schedule | ||
celerybeat.pid | ||
|
||
# SageMath parsed files | ||
*.sage.py | ||
|
||
# Environments | ||
.env | ||
.venv | ||
env/ | ||
venv/ | ||
ENV/ | ||
env.bak/ | ||
venv.bak/ | ||
|
||
# Spyder project settings | ||
.spyderproject | ||
.spyproject | ||
|
||
# Rope project settings | ||
.ropeproject | ||
|
||
# mkdocs documentation | ||
/site | ||
|
||
# mypy | ||
.mypy_cache/ | ||
.dmypy.json | ||
dmypy.json | ||
|
||
# Pyre type checker | ||
.pyre/ | ||
|
||
# pytype static type analyzer | ||
.pytype/ | ||
|
||
# Cython debug symbols | ||
cython_debug/ | ||
|
||
# End of https://www.toptal.com/developers/gitignore/api/python,jupyternotebooks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
version: 2 | ||
|
||
build: | ||
os: "ubuntu-22.04" | ||
tools: | ||
python: "3.10" | ||
|
||
python: | ||
install: | ||
- requirements: requirements.txt | ||
|
||
sphinx: | ||
configuration: docs/conf.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Minimal makefile for Sphinx documentation | ||
# | ||
|
||
# You can set these variables from the command line, and also | ||
# from the environment for the first two. | ||
SPHINXOPTS ?= | ||
SPHINXBUILD ?= sphinx-build | ||
SOURCEDIR = docs | ||
BUILDDIR = build | ||
|
||
# Put it first so that "make" without argument is like "make help". | ||
help: | ||
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | ||
|
||
.PHONY: help Makefile | ||
|
||
# Catch-all target: route all unknown targets to Sphinx using the new | ||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). | ||
%: Makefile | ||
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,64 +1,22 @@ | ||
## Installation | ||
# Yokai Batch documentation | ||
|
||
```bash | ||
composer require yokai/batch | ||
``` | ||
Sources of documentation for [`yokai/batch`](https://github.com/yokai-php/batch) library. | ||
See [online version](https://yokai-batch.readthedocs.io/). | ||
|
||
## What is Batch ? | ||
The Batch library solves all your massive data processing problems. | ||
|
||
Batch can also be used as an ETL. | ||
## Contribution | ||
|
||
Batch can also work asynchronously. | ||
This package is a readonly split of a [larger repository](https://github.com/yokai-php/batch-src), | ||
containing all tests and sources for all librairies of the batch universe. | ||
|
||
Batch help you to make reporting during process. | ||
Please feel free to open an [issue](https://github.com/yokai-php/batch-src/issues) | ||
or a [pull request](https://github.com/yokai-php/batch-src/pulls) | ||
in the [main repository](https://github.com/yokai-php/batch-src). | ||
|
||
## How it works ? | ||
Batch is a library that allows you to declare and execute jobs. | ||
And having control over each step of the process to be able to extend the technical logic to meet business needs. | ||
The library was originally created by [Yann Eugoné](https://github.com/yann-eugone). | ||
See the list of [contributors](https://github.com/yokai-php/batch-src/contributors). | ||
|
||
## Vocabulary | ||
|
||
Because when you start with any library | ||
it is important to understand what are the concepts introduced in it. | ||
## License | ||
|
||
This is highly recommended that you read this entire page | ||
before starting to work with this library. | ||
|
||
### Job | ||
A job is the class that is responsible for **what** your code is doing. | ||
|
||
This is the class you will have to create (or reuse), | ||
as it contains the business logic required for what you wish to achieve. | ||
|
||
The only requirement is implementing [`JobInterface`](../src/batch/src/Job/JobInterface.php), | ||
|
||
#### See More: | ||
For more information about jobs, see [Job](batch/domain/job.md) | ||
|
||
### Job Launcher | ||
|
||
The job launcher is responsible for executing/scheduling every jobs. | ||
|
||
Yeah, executing OR scheduling. There is multiple implementation of a job launcher across bridges. | ||
Job's execution might be asynchronous, and thus, when you ask the job launcher to "launch" a job, | ||
you have to check the `JobExecution` status that it had returned to know if the job is already executed. | ||
|
||
#### What is needed to use a Job Launcher ? | ||
|
||
For use a Job Launcher you need to have: | ||
- **A Container of Jobs:** A container use any PSR-11 [container implementation](https://packagist.org/providers/psr/container-implementation) | ||
- **A Storage for Job Executions:** A storage to store the execution of jobs, it can be a database, a file, a cache, etc. | ||
- **A JobExecutor:** The executor will execute the job. | ||
- **A JobExecutionAccessor:** The accessor will access the job execution. | ||
|
||
### JobExecution: | ||
|
||
A [JobExecution](../src/batch/src/JobExecution.php) is the class that holds information about one execution of a job. | ||
|
||
### JobExecutionStorage | ||
|
||
Whenever a job is launched, whether is starts immediately or not, an execution is stored for it. | ||
The execution are stored to allow you to keep an eye on what is happening. | ||
This persistence is on the responsibility of the job execution storage. | ||
- [Job Execution Storage](batch/domain/job-execution-storage.md) | ||
This library is under MIT [LICENSE](LICENSE). |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.