Skip to content

Commit 40c9b2d

Browse files
committed
feat(dev): Add ITriggerableProvider docs
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
1 parent 542a243 commit 40c9b2d

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

developer_manual/digging_deeper/task_processing.rst

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -531,15 +531,27 @@ If you would like to implement providers that handle additional task types, you
531531
}
532532
533533
Internal task types
534-
~~~~~~~~~~~~~~~~~~~
534+
###################
535535

536536
.. versionadded:: 33.0.0
537537

538538
Other apps and clients will assume that task types are user-facing and will display them on the frontend. If your custom
539-
task types are not intended to be shown to users, you should implement the `IInternalTaskType` interface instead. This will
539+
task types are not intended to be shown to users, you should implement the ``IInternalTaskType`` interface instead. This will
540540
make sure that other apps and clients know not to show your custom task type to end users.
541541

542542

543+
Triggerable providers
544+
^^^^^^^^^^^^^^^^^^^^^
545+
546+
.. versionadded:: 33.0.0
547+
548+
Synchronous providers are executed automatically by a background job that will usually be targeted by a worker to make sure
549+
that it runs almost instantly. ExApps on the other hand used to have to poll the server for new tasks. Since the introduction of triggerable
550+
providers ExApps are now notified immediately of new tasks when they are scheduled. This is implemented via the ``ITriggerableProvider`` interface,
551+
which adds an additional ``trigger(): void`` method to the provider interface which is called when a new task is scheduled for this provider and
552+
there are no running tasks for it at the moment. Usually if you implement a provider in PHP you will not have to deal with this interface but it is documented
553+
here for completeness.
554+
543555
Provider and task type registration
544556
-----------------------------------
545557

0 commit comments

Comments
 (0)