---
name: "TSContScheduleEvery"
section: "3ts"
platform: "linux"
package: "trafficserver-dev"
version: "9.2.5+ds-0+deb12u4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/TSContScheduleEvery"
---

# TSContScheduleEvery(3ts)

TSContScheduleEvery API function

## NAME

TSContScheduleEvery - TSContScheduleEvery API function

## SYNOPSIS

```
#include <ts/ts.h>
```

- ***TSAction* TSContScheduleEvery(*TSCont* contp, *TSHRTime* every)**

  ## DESCRIPTION

Schedules *contp* to periodically run every *delay* milliseconds in the future. This is approximate. The delay will be at least *delay* but possibly more. Resolutions finer than roughly 5 milliseconds will not be effective. *contp* is required to have a mutex, which is provided to *TSContCreate()*.

The return value can be used to cancel the scheduled event via *TSActionCancel()*. This is effective until the continuation *contp* is being dispatched. However, if it is scheduled on another thread this can be problematic to be correctly timed. The return value can be checked with *TSActionDone()* to see if the continuation ran before the return, which is possible if *timeout* is *0*. Returns **nullptr** if thread affinity was cleared.

TSContSchedule() or TSContScheduleEvery() will default to set the thread affinity to the calling thread when no affinity is already set for example, using *TSContThreadAffinitySet()*

Note that the TSContSchedule() family of API shall only be called from an ATS EThread. Calling it from raw non-EThreads can result in unpredictable behavior.

## SEE ALSO

*TSContSchedule* *TSContScheduleOnPool* *TSContScheduleOnThread*

## COPYRIGHT

2026, dev@trafficserver.apache.org
