Skip to content

lazydynamics/Gears.jl

Repository files navigation

Gears

Stable Dev Build Status Coverage Aqua

Gears Logo

A Julia package for scheduling tasks in simulation environments with precise timing control.

Quick Start

using Gears

# Schedule a task every 200 milliseconds
every(200ms) do dt
    println("Task executed at $(now(global_clock()))")
end

# Run the scheduler for 1 second
for_next(1s) do
    update!()
end

Installation

using Pkg
Pkg.add("Gears")

Features

  • Timed Jobs: Execute tasks at regular intervals
  • ASAP Jobs: Execute tasks as soon as possible
  • Event Jobs: Execute tasks when data arrives on channels
  • Multiple Clocks: Machine time or controllable virtual time
  • Flexible Scheduling: Global or custom schedulers
  • Multi-threading: Parallel job execution

Documentation

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

For companies and organizations that require different licensing terms, alternative licensing options are available from Lazy Dynamics. Please contact Lazy Dynamics for more information about licensing options that may better suit your specific needs and use cases.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •