Timers API
  • Globus Timers
  • Getting Started
    • Scheduling a Transfer
    • Scheduling a Flow Run
  • Timer Schedules
Skip to main content
Globus Docs
  • Getting Started
    Getting Started

    Getting Started and Tutorial docs cover how to perform some activity or provide an introduction to a feature. They are not comprehensive, but help you get started with Globus or with new Globus features.

    • Users
    • Admins
    • Developers
  • Reference
    Reference
    • Service
      • Auth
      • Groups
      • Transfer
      • Timers
      • Flows
      • Compute
      • Search
    • Agents
      • Globus Connect Server
      • GCS CLI
      • Globus Connect Personal
      • Globus Compute
    • SDK
      • Python
      • JS
    • Clients
      • CLI
    • Security and Compliance
      • Product Security
      • Privacy
      • Solutions for Sensitive Data
      • FAQs
  • Solutions & Guides
    Solutions & Guides

    Find practical approaches for leveraging Globus in research environments, integrating with platforms, and building science gateways. Access hands-on guides, integration instructions, and real-world scenarios for advanced usage.

    • Portals/Science Gateways
    • Guides
  • Support
    Support

    Find answers to frequently asked questions, connect with the community by joining our mailing lists, or reach out directly to Globus support.

    • FAQs
    • Mailing Lists
    • Contact Us
    • Check Support Tickets
  • Site Search
  1. Home
  2. Globus Services
  3. Globus Timers
  4. Timer Schedules

Timer Schedules

Globus Timers support two types of timer schedules:

  • Run-once: The timer will run only once, at the specified start time.

  • Recurring: The timer will run at regular intervals, starting at the specified start time.

A timer provides a number of scheduling options, including:

  • Start: The time at which the timer will first run; when omitted, defaults to the current time (i.e., the first run will begin immediately)

  • End conditions: The conditions under which the timer will stop running

    • Iterations: The timer will stop after a specified number of iterations (this does not include iterations that were skipped, such as while the timer was inactive). See "Timer Statuses" below for more information.

    • Time: The timer will stop after a specified time.

  • Interval: The time between successive runs of the timer (this is not set in the case of "run-once" timers)

When Timer Runs Will Occur

Globus Timers determines when your timer is eligible to run using the timer's start time and its interval. Each time your timer is eligible to run, it is called a "timer tick". Ticks occur on the following pattern:

  • Tick 1: At the timer's start time

  • Tick 2: At the timer's start time + interval

  • Tick n+1: At the timer's start time + (n * interval)

  • …​ (until the end condition is met)

"Run-once" timers (i.e., timers without a configured interval) will only have one tick, at the start time.

If a prior timer run is still in progress when the next timer tick occurs, it will be skipped. A skipped tick will not count towards a timer's "iterations" end condition.

Note

In most cases, a timer run will occur within the specified minute that its tick occurs. However, a timer run may not begin at the exact moment the timer tick occurs, especially if there are many timers scheduled to run at the same time.

Retries

In some cases, a timer may encounter errors when attempting to start a new timer run.

  • In the case that the timer encounters an error that could be transient (e.g., network error, timeout, etc.), the timer may retry the timer run for up to 45 minutes. Recurring timers with an interval of two minutes or longer will retry for up to half of the timer’s interval (but no more than 45 minutes); for example, if the timer has an interval of 30 minutes, it will retry for up to 15 minutes. Run-once timers will retry for 45 minutes.

  • In the case that the timer encounters an error that requires user intervention to resolve (for example, additional consents are needed), the timer will be paused and the owner will be notified. See below for additional details on resuming inactive timers.

  • If the error encountered is not resolvable (e.g., an HTTP 404 error, indicating that the timer's configured target is not found), the timer will be ended and the owner will be notified.

Timer Statuses

A timer can be in one of four states:

  • active: The timer is running and will run again at the next scheduled time.

  • inactive: The timer is not running and will not run again until it is resumed.

    • This can occur automatically when the timer is missing a necessary consent, or when a new login is required to re-authorize the timer. In these cases, the timer will be paused and the owner will be notified via email.

    • A timer can also be made inactive manually, when the owner pauses the timer.

  • ended: The timer has reached its end conditions and will not run again.

  • delete_in_progress: The timer is in the process of being deleted; once it has cleaned up all of its resources, it will no longer appear in your list of timers.

Pausing and Resuming Timers

When a timer becomes inactive, an email will be sent to the owner with instructions indicating how to resume the timer.

Timers may also be made inactive manually, by the owner, by pausing the timer. A timer can be paused at any time, and will not run again until it is resumed. Pausing a timer will not affect a timer run that is already in progress. If a paused timer has an associated inactive timer run (such as when a necessary consent is missing, or when a new login is required to re-authorize the timer), resuming the timer will also resume the inactive timer run.

To pause a timer in the Globus Web App, click the "Pause" button in the timer details page.

To pause a timer in the Globus CLI, run the command:

globus timer pause <timer-id>

…​where <timer-id> is the ID of the timer you wish to pause.

A timer can similarly be resumed in the Globus CLI by running the command:

globus timer resume <timer-id>

…​where <timer-id> is the ID of the timer you wish to resume.

  • Globus Timers
  • Getting Started
    • Scheduling a Transfer
    • Scheduling a Flow Run
  • Timer Schedules
© 2010- The University of Chicago Legal Privacy Accessibility