# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

# The default timezone for crons in App Engine is UTC.
# See: https://cloud.google.com/appengine/docs/standard/python/config/cronref#syntax
# To avoid potential bugs with Daylight Savings Time, please do
# not use timezones other than UTC.

cron:
- description: keep the databases loaded
  url: /p/chromium/issues/list
  schedule: every 30 minutes synchronized
- description: consolidate old invalidation rows
  url: /_cron/ramCacheConsolidate
  schedule: every 6 hours synchronized
- description: index issues that were modified in big batches
  url: /_cron/reindexQueue
  schedule: every 1 minutes synchronized
- description: get rid of doomed and deletable projects
  url: /_cron/reap
  schedule: every 24 hours synchronized
- description: send ts_mon metrics
  url: /internal/cron/ts_mon/send
  schedule: every 1 minutes
- description: export spam model training examples
  url: /_cron/spamDataExport
  schedule: every day 09:00
- description: fetch api clients from luci-config
  url: /_cron/loadApiClientConfigs
  schedule: every 30 minutes synchronized
- description: deletes old visited hotlists
  url: /_cron/trimVisitedPages
  schedule: every monday 01:00
- description: ping all issues with date fields that arrived
  url: /_cron/dateAction
  schedule: every day 12:00
- description: retrain spam model with GCS training data
  url: /_cron/spamTraining
  schedule: every day 10:00
- description: export component model training examples
  url: /_cron/componentDataExport
  schedule: every mon 9:00
- description: sync monorail's user lists with wipeout-lite
  url: /_cron/wipeoutSync
  schedule: every day 09:00
