You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We love contributions. This guide is for all folks who want to make taskiq
8
+
better together.
9
+
10
+
We have several rules for contributors:
11
+
* Please do not add malware.
12
+
* Please make sure that your request solves problem.
13
+
14
+
If you struggle with something or feel frustrating, you either create an issue, create a discussion on page or publish draft PR and ask your question in description.
15
+
16
+
We have lots of tests in CI. But since runs from first-time contributors should be approved you better test locally, it just takes less time.
17
+
18
+
We love contributions. This guide is for all folks who want to make taskiq better together.
19
+
We have several rules for contributors:
20
+
* Please do not add malware.
21
+
* Please make sure that your request solves the problem.
22
+
23
+
If you struggle with something or feel frustrated, you either create an issue, create a [discussions](https://github.com/orgs/taskiq-python/discussions).
24
+
page or publish a draft PR and ask your question in the description.
25
+
26
+
We have lots of tests in CI. But since CI runs from first-time contributors should be approved, you better test locally. It just takes less time to prepare PR for merging.
27
+
28
+
## Setting up environment
29
+
30
+
We use poetry for managing dependencies. To install it, please follow the official guide in [documentation](https://python-poetry.org/docs/).
31
+
32
+
After you have cloned the taskiq repo, install dependencies using this command:
33
+
34
+
```bash
35
+
poetry install
36
+
```
37
+
38
+
It will install all required dependencies.
39
+
If you want to run pytest against different python environments, please install `pyenv` using instructions from its [readme](https://github.com/pyenv/pyenv).
40
+
41
+
After pyenv is ready, you can install all python versions using this command:
42
+
43
+
```bash
44
+
pyenv install
45
+
```
46
+
47
+
## Linting
48
+
49
+
We have `pre-commit` configured with all our settings. We highly recommend you to install it as a git hook using `pre-commit install` command.
50
+
51
+
But even without installation, you can run all lints manually:
52
+
53
+
```bash
54
+
pre-commit run -a
55
+
```
56
+
57
+
58
+
## Testing
59
+
60
+
You can run `pytest` without any parameters and it will do the thing.
61
+
62
+
```bash
63
+
pytest
64
+
```
65
+
66
+
If you want to speedup testings, you can run it with `-n` option from [pytest-xdist](https://pypi.org/project/pytest-xdist/) to run tests in parallel.
67
+
68
+
```bash
69
+
pytest -n 2
70
+
```
71
+
72
+
Also we use `tox` to test against different environments. You can publish a PR to run pytest with different
73
+
python versions, but if you want to do it locally, just run `tox` command.
74
+
75
+
76
+
```bash
77
+
tox
78
+
```
79
+
80
+
Tox assumes that you've installed python versions using pyenv with command above.
This part is used to store and get results of the execution.
138
+
Result backend is used to store and get results of the execution.
88
139
Results have type `TaskiqResult` from [taskiq.result](https://github.com/taskiq-python/taskiq/blob/master/taskiq/result.py).
89
140
90
141
Every ResultBackend must implement `AsyncResultBackend` from [taskiq.abc.result_backend](https://github.com/taskiq-python/taskiq/blob/master/taskiq/abc/result_backend.py). By default, brokers use `DummyResultBackend`. It doesn't do anything and cannot be used
Copy file name to clipboardExpand all lines: docs/guide/cli.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,6 +71,16 @@ To enable this option simply pass the `--reload` or `-r` option to worker taskiq
71
71
Also this option supports `.gitignore` files. If you have such file in your directory, it won't reload worker
72
72
when you modify ignored files. To disable this functionality pass `--do-not-use-gitignore` option.
73
73
74
+
### Other parameters
75
+
76
+
*`--no-configure-logging` - disables default logging configuration for workers.
77
+
*`--max-async-tasks` - maximum number of simultaneously running async tasks.
78
+
*`--max-prefetch` - number of tasks to be prefetched before execution. (Useful for systems with high message rates, but brokers should support acknowledgements).
79
+
*`--max-threadpool-threads` - number of threads for sync function exection.
80
+
*`--no-propagate-errors` - if this parameter is enabled, exceptions won't be thrown in generator dependencies.
81
+
*`--receiver` - python path to custom receiver class.
82
+
*`--receiver_arg` - custom args for receiver.
83
+
74
84
## Scheduler
75
85
76
86
Scheduler is used to schedule tasks as described in [Scheduling tasks](./scheduling-tasks.md) section.
0 commit comments