Download the PHP package morningtrain/wp-async without Composer
On this page you can find all versions of the php package morningtrain/wp-async. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package wp-async
Morningtrain\WP\Async
Async task handler for WordPress
Table of Contents
- Introduction
- Getting Started
- Installation
- Usage
- Register Worker
- Create a Task
- Dispatch Async Task
- Dispatch Blocking Task
- Contributing
- Contributors
- Testing
- License
Introduction
This package is made to dispatch task asyncronely to a new thread.
Getting started
To get started install the package as described below in Installation.
To use the package have a look at Usage
Installation
Install with composer.
Usage
Register Worker
To get started with the module simply register a worker \Morningtrain\WP\Async\Async::registerWorker()
.
Create a Task
Jobs can be created by extending Morningtrain\WP\Async\Abstracts\AbstractAsyncTask
and create a static handle
method.
Dispatch Async Task
You can dispatch a async task by caling the static method dispatch
on your task class.
This will run the task asyncronely whitout waiting for response.
Dispatch Blocking Task
You can dispatch a blocking task by caling the static method dispatchBlocking
on your task class.
This will run the task in a new thread, and wait for response.
Timeout
There will be a timout after 5 seconds on blocking task.
If you need more time to handle your blocking task, you should overwrite the dispatchBlocking
method on your task class.
You can call the dispatchBlockingTask
method on the worker with timeout in second as third parameter.
Error handling
You can return a WP_Error
object from your task, and it will be returned as status 400 with the wp error info.
You can also throw a Throwable (Exception), and it will be returned as status 500 with the exception message.
Alternatively you can return your own json response, if you need another response code.
Contributing
Thank you for your interest in contributing to the project.
Bug Report
If you found a bug, we encourage you to make a pull request.
To add a bug report, create a new issue. Please remember to add a telling title, detailed description and how to reproduce the problem.
Support Questions
We do not provide support for this package.
Pull Requests
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
Contributors
- Martin Schadegg Brønniche
- All Contributors
License
The MIT License (MIT). Please see License File for more information.