# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
cron:
- description: "Run postsubmits"
  url: /controller/queue_postsubmit_jobs?branch=master
  schedule: every 1 hours
  target: controller

- description: "Logs cleanup"
  url: /controller/delete_expired_logs
  schedule: every 24 hours
  target: controller

- description: "Delete stale jobs from the running queue"
  url: /controller/delete_stale_jobs
  schedule: every 15 minutes
  target: controller

# This is unnecessary if everything works fine all the time, because each
# /worker/tick task enqueues the next one. However if anything goes wrong the
# chain would break. We use this cron job to re-kick it if this happens.
- description: "Gerrit poller failsafe"
  url: /controller/tick
  schedule: every 5 minutes
  target: controller
