A Julia package for scheduling tasks in simulation environments with precise timing control.
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!()
endusing Pkg
Pkg.add("Gears")- 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
- Getting Started - Quick setup and basic examples
- Tutorials - Step-by-step learning guide
- API Reference - Complete function documentation
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.
