# WHMCS\Scheduling\Task\AbstractTask

`Class` · extends `Model` · implements `DecoratorItemInterface`, `TaskInterface`

AbstractTask

## Traits

- `DecoratorItemTrait`
- `RegisterTrait`


## Methods

### createTable

```php
public function createTable($drop = false)
```

### firstOfClassOrNew

```php
public static function firstOfClassOrNew(array $attributes = [])
```

### register

```php
public static function register($allowDuplicates = false)
```

### unregister

```php
public static function unregister(): void
```

Unregisters the task by removing it from the database.
If the task has a status, it will also be deleted.

### getDefaultAttributes

```php
public function getDefaultAttributes()
```

### newCollection

```php
public function newCollection(array $models = array())
```

**Parameters**

| Type | Name | Description |
|  --- | --- | --- |
| `array` | `$models` |  |


**Returns** `Collection`

### getName

```php
public function getName()
```

### setName

```php
public function setName($name)
```

### run

```php
public function run()
```

### getPriority

```php
public function getPriority()
```

### setPriority

```php
public function setPriority($priority)
```

### getDescription

```php
public function getDescription()
```

### setDescription

```php
public function setDescription($description)
```

### getFrequencyMinutes

```php
public function getFrequencyMinutes()
```

### setFrequencyMinutes

```php
public function setFrequencyMinutes($minutes)
```

### anticipatedNextRun

```php
public function anticipatedNextRun(Carbon $date = null)
```

### isEnabled

```php
public function isEnabled()
```

### setEnabled

```php
public function setEnabled($state)
```

### isPeriodic

```php
public function isPeriodic()
```

### setPeriodic

```php
public function setPeriodic($state)
```

### getStatus

```php
public function getStatus()
```

### getStatusAttribute

```php
public function getStatusAttribute($status)
```

### status

```php
public function status()
```

### getSystemName

```php
public function getSystemName()
```

### getAccessLevel

```php
public function getAccessLevel()
```

### getOutputKeys

```php
public function getOutputKeys()
```

**Returns** `array`

### isDailyTask

```php
public function isDailyTask()
```

### monthlyDayOfExecution

```php
public function monthlyDayOfExecution()
```

### isSkipDailyCron

```php
public function isSkipDailyCron()
```

### getDetailUrl

```php
public function getDetailUrl()
```

### getFailureUrl

```php
public function getFailureUrl()
```