Support scheduling of task via command line interface.
Project description
CLI Scheduler
Library support scheduling of task via command line interface.
Installation
pip3 install python-cli-scheduler
Usage
Scheduler format: ^<run_now>@<interval>/<delay>$<end_timestamp>#<retry>
Parameters:
run_now
: Execute now. Default:True
interval
: Repeat execute after number of seconds. If set toNone
, execute one time and not repeat. Default:None
delay
: Execute at seconddelay
-th at each interval. Default: `0end_time
: Execute untilend_time
. If set toNone
, infinite repeat. Default:None
retry
: Retry if exception when executed. Default:True
Example
Use with decorator
Coming soon
Use with scheduler job class
Example job to print a lucky number at second 3 every minute.
import time
import random
from cli_scheduler.scheduler_job import SchedulerJob
class RotationLuckJob(SchedulerJob):
def __init__(self, scheduler):
super().__init__(scheduler=scheduler)
def _pre_start(self):
self.logger.info('Rotation luck. Have fun !')
def _start(self):
self.n = random.randint(0, 1000)
def _execute(self, *args, **kwargs):
self.logger.info(f'The lucky number is {self.n}')
def _end(self):
del self.n
def _follow_end(self):
self.logger.info('Done')
if __name__ == '__main__':
end_time = int(time.time()) + 5 * 60
# ^false: Not execute now
# @60: Repeat execute every 60 second
# /3: Execute at second 3
# ${end_time}: Run until end_time
# #false: Don't retry if exception when execute
job = RotationLuckJob(scheduler=f'^false@60/3${end_time}#false')
job.run()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for python-cli-scheduler-1.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66b919b55bbe9aab1fd1de1434d5c29756f89813efb90e2c5a40648e320d7039 |
|
MD5 | 3cfe16801f74957a9a2c7dc851a2c35b |
|
BLAKE2b-256 | 4efc1970d0ad08d77401e3bc9adb3140c7e5d07116f2574ebe658362c560b180 |
Close
Hashes for python_cli_scheduler-1.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19bf25513ef15f64e3008ee248576e91dcdc2b237d8f5faee7c21edecdf45f2e |
|
MD5 | b4f698078b89ca825ea3e7d1ded310b8 |
|
BLAKE2b-256 | 9fb5fcc9bdbb231415694d6aec6c84a3c0694aa25878039314d78302683ee8f9 |