# `schedule.settings_invalid`

Schedules settings in `app.jadpo` hold something other than a database's `store:`.

Area 12, [Jobs and events](../topics/jobs-and-events.md); not declinable; the next step is usually the agent's.

`schedules: { store: }` names a database:

```jadpo
application {
    schedules: {
        store: archive
    }
}
```

```text
error: `store: archive` isn't a database
 --> app.jadpo:3:16
  |
3 |         store: archive
  |                ^^^^^^^ not a database
  reason: A schedule's next due time and its lease are kept in a database; this application's databases are `main`.
  next: Name a database connection (agent)
  rule: schedule.settings_invalid
  help: https://jadpo.dev/docs/errors/schedule.settings_invalid

check failed: 1 error, 1 file
```

`trigger:` is a `ScheduleTrigger`:

```jadpo
application {
    schedules: {
        trigger: ScheduleTrigger.cron
    }
}
```

```text
error: `ScheduleTrigger.cron` isn't a schedule trigger
 --> app.jadpo:3:18
  |
3 |         trigger: ScheduleTrigger.cron
  |                  ^^^^^^^^^^^^^^^^^^^^ not a `ScheduleTrigger`
  reason: A native deployable ticks on the server's own timer, `ScheduleTrigger.native`, or when another scheduler runs its `tick` command, `ScheduleTrigger.external`; a Worker always ticks on Cloudflare's cron.
  next: Use `ScheduleTrigger.external` instead (agent)
  rule: schedule.settings_invalid
  help: https://jadpo.dev/docs/errors/schedule.settings_invalid

check failed: 1 error, 1 file
```
