The "schedule" package in Python is a simple and intuitive library used for scheduling tasks and executing them at specified intervals or times. It provides a convenient way to create and manage recurring tasks or jobs within a Python program. It is a alternative to using a cron-based scheduler for tasks and can be supported under the Gadi Persistent Sessions.
Key features of the "schedule" package include:
Task Scheduling: Allows you to schedule tasks to run at specific times or intervals.
Simple Syntax: Provides an easy-to-understand syntax for setting up schedules using human-readable expressions.
Recurring Jobs: Supports recurring jobs based on time, allowing tasks to be executed hourly, daily, weekly, or at custom intervals.
Thread Safety: Provides thread safety mechanisms for handling concurrent scheduling and execution of tasks.
Callback Support: Enables the execution of custom functions or callbacks when a scheduled task is due.
Run the following commands to load it at Gadi login node or the persistent session ( you need to join project hr22 firstly)
module use /g/data/hr22/modulefiles module load schedule/1.2.0
Example usage of the "schedule" package might include:
import schedule import time def task(): print("Executing task...") # Schedule a task to run every 2 hours schedule.every(2).hours.do(task) # Schedule a daily task at a specific time schedule.every().day.at("10:00").do(task) # Execute scheduled tasks while True: schedule.run_pending() time.sleep(1)
This code demonstrates how to schedule tasks to run at specific intervals or times using the "schedule" package. It defines a task to be executed and schedules it to run every 2 hours and daily at 10:00 AM.
You can find more examples under "$SCHEDULE_ROOT/test".
You can also run it in the background as shown here.