PHPackages                             garvinhicking/adhoc-tasks - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. garvinhicking/adhoc-tasks

ActiveTypo3-cms-extension[CLI &amp; Console](/categories/cli)

garvinhicking/adhoc-tasks
=========================

TYPO3 Scheduler AdHoc Tasks - allows to run any TYPO3 (v14+) Scheduler Task on the command line, with custom configuration.

0.1.0(8mo ago)22[1 issues](https://github.com/garvinhicking/typo3-adhoc-tasks/issues)GPL-2.0-or-laterShell

Since Nov 26Pushed 8mo agoCompare

[ Source](https://github.com/garvinhicking/typo3-adhoc-tasks)[ Packagist](https://packagist.org/packages/garvinhicking/adhoc-tasks)[ Docs](https://typo3.org)[ RSS](/packages/garvinhicking-adhoc-tasks/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (11)Versions (2)Used By (0)

typo3-adhoc-tasks
=================

[](#typo3-adhoc-tasks)

Allows to run any TYPO3 (v14) Scheduler Task on the command line, with custom configuration

This was originally proposed as .

Installation
------------

[](#installation)

This package can be installed (in TYPO3 v14) as a composer package:

```
composer req "garvinhicking/adhoc-tasks"

```

See packagist:

No "classic mode" support is planned for this extension.

Description
-----------

[](#description)

With the reworked scheduler data storage format of TYPO3 v14 () this opened up the possibility to have "ad-hoc" tasks.

Previously, the TYPO3 scheduler tasks that were extended from `AbstractTask`did not allow to be run without specific configuration. They needed to be stored as a task in the database, containing serialized parameters/arguments.

This meant, that these tasks could only be run from `typo3/bin/typo3 scheduler:execute`if they had a corresponding serialized task database entry, and could not be run with different configuration on the CLI, or at all.

To bypass this, the recommendation was to create all tasks as Symfony Commands, which also allowed CLI execution. This is still a recommendation for today.

However, several TYPO3 core tasks still exist (like for garbage collection, file reference integrity and others) and these are now executable as ad-hoc tasks, without the need to refactor every `AbstractTask` into a Symfony Command.

Ad-hoc tasks can be executed like:

```
bin/typo3 scheduler:adhoc:execute
  --task 'TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableTask'
  --config='{"selected_tables": "be_dashboards,be_groups"}'

```

The two new options `--task` and `--config` specify the unique ID of a task to execute (currently a fully-qualified classname, in the future probably shorthand IDs), and passes the arguments as a JSON string.

The choice to put a serialized JSON string as arguments has several advantages:

- It can be the same JSON string as stored in the `tx_scheduler_task.parameters`database column.
- It allows to specify newlines and array-types on the CLI
- It prevents the need to define, pass-through and validate arbitrary CLI arguments

> **HINT**: The list of available parameters of a given task type can be investigated via:
>
> ```
> bin/typo3 scheduler:adhoc:execute
>   --task 'TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableTask'
>   --config='?'
>
> ```

A second command `bin/typo3 scheduler:adhoc:list` shows a list of all ad-hoc tasks that are available, with a list of their parameters.

Impact
------

[](#impact)

All TYPO3 Core tasks and custom `AbstractTask` implementations utilizing the "native task" TCA format can now be run from the CLI and no longer need "dummy" entries in the Scheduler.

This helps for debugging tasks as well as one-off runs of a specific task.

TODO
----

[](#todo)

Tests were adapted from the TYPO3 Core patch. They do not (yet) work standalone due to difference in how Symfony CLI commands can be tested.

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance49

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity25

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

264d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/273326?v=4)[Garvin Hicking](/maintainers/garvinhicking)[@garvinhicking](https://github.com/garvinhicking)

---

Top Contributors

[![garvinhicking](https://avatars.githubusercontent.com/u/273326?v=4)](https://github.com/garvinhicking "garvinhicking (8 commits)")

###  Code Quality

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/garvinhicking-adhoc-tasks/health.svg)

```
[![Health](https://phpackages.com/badges/garvinhicking-adhoc-tasks/health.svg)](https://phpackages.com/packages/garvinhicking-adhoc-tasks)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103574.3k69](/packages/friendsoftypo3-content-blocks)[aimeos/aimeos-typo3

Professional, full-featured and high performance TYPO3 e-commerce extension for online shops and complex B2B projects

1.6k94.7k6](/packages/aimeos-aimeos-typo3)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

40543.5k](/packages/wazum-sluggi)[dmk/mksearch

Generic highly adjustable and extendable search engine framework, using Zend Lucene, Apache Solr or ElasticSearch. But support for other search engines can be provided easily.

1331.8k](/packages/dmk-mksearch)[nitsan/ns-t3af

MCP-first AI foundation for TYPO3. T3AF turns your TYPO3 installation into a fully AI-ready platform. Complete AI-infrastructure for the whole TYPO3 team, zero setup. Manage every AI provider, MCP servers &amp; tools, brand context, prompts, users permissions, and budget in one native backend module. You stay in control, your every TYPO3 team (editors, integrators, developers &amp; administrator) works with AI on one governed, self-hosted foundation. Use it standalone — or as the foundation that powers the complete AI Universe.

221.0k](/packages/nitsan-ns-t3af)[mediaessenz/mail

Powerful newsletter system for TYPO3

1112.2k3](/packages/mediaessenz-mail)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
