
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
A simple automated task to schedule files to open in specific days of the week or every day at startup or at specific time of the day.
A simple way of scheduling files at startup or at specific time of the day. The file can also be scheduled to start at specific days of the week or every day.
The current project provides a simple automated task to schedule files to open in specific days of the week or every day at startup or at specific time of the day. Multiple files can be scheduled.
For the progscheduler to work as intended, the startup feature includes having to add a file containing the command for starting the progscheduler in a specific startup folder for Windows users. If that's not done, then the progscheduler continues to work fine but to have the scheduled files to open, the user must run the progscheduler manually every time. If the 'program-scheduler.bat' exists, double-click this file to start running the program. This is explained in here.
A scheduled file can also be any type of file including folders. See Notes.
Coming soon...
Status | Features |
---|---|
✅ | schedule a file to start/open at specific days of the week or everyday |
✅ | schedule a file to start/open at specific time of the day |
✅ | schedule a file to start/open when the computer boots up |
✅ | configuration of multiple files to schedule |
✅ | see current configurations |
Any new features are very welcomed.
Any unimplemented features will be developed by user request, so if you want any of these or new ones, open an issue.
Python 3 must be installed.
Must be used the latest version of margument library.
pip --no-cache-dir install progscheduler
or,
pip3 --no-cache-dir install progscheduler
To enable the startup feature, the file 'program-scheduler.bat' is provided. This file can be found in this project's github repository.
The 'program-scheduler.bat' needs to be put into
C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
folder to start running when the computer boots up.
This will open a command prompt window automatically when the computer boots up. This window should only be closed if all desired jobs are already finished.
Open an issue if you need to know how to enable this feature in Linux.
Command (shortcut) | Command (full) | Type | Description |
---|---|---|---|
--run | --run | REQUIRED for the scheduler to run | if specified, the scheduler will start running using user-defined configurations. |
-a | --alias | REQUIRED to create new scheduled job | file alias. this name is UNIQUE within all scheduled files. to create or update any configuration regarding a specific file, this is required. |
-p | --path | REQUIRED to create new scheduled job | absolute path of file to schedule (including the extension name except for folders). |
-d | --days | REQUIRED to create new scheduled job | days to schedule a file within the following options: 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday', 'everyday', 'weekdays' and 'weekends'. |
-t | --time | OPTIONAL | specific time to start/open a file. default is '' (empty). if time is empty then the file will start when the progscheduler command is run (at startup if program-scheduler.bat file was configured). |
-ts | --time-to-stop | OPTIONAL | define a time for a specific scheduled job to stop running if progscheduler runs. |
-del | --delete | OPTIONAL | delete a existing configuration with the file alias. |
-ls | --schedules | OPTIONAL | list all global settings. |
-lsch | --settings | OPTIONAL | list all scheduled jobs. |
-st | --status | OPTIONAL | sets the status of a specific scheduled job. choices are: 'on' and 'off'. this indicates if a job will run(active-on) or not(inactive-off). default value is 'on'. |
-ex | --exclude | OPTIONAL | any dates given will be excluded from the job, meaning a specific scheduled job will not run in any date specified in excluded days. |
-in | --include | OPTIONAL | any dates given will be included in a job, meaning a specific scheduled job will run in any date specified in included days. |
--exit-when-done/--no-exit-when-done | --exit-when-done/--no-exit-when-done | OPTIONAL | boolean value. if specified, the program window will exit automatically when all scheduled jobs finished that particular day. default value: false |
Any additional help can be provided if the following command is run:
progscheduler --help
or,
progscheduler -h
Before running the scheduler, at least one program needs to be configured. The following command will configure the 'program.exe' to start when the computer boots up every monday, friday and saturday
progscheduler -a ProgramOrFolderToScheduleUniqueName -p "C:\Users\<username>\Desktop\program.exe" -d monday friday saturday
To configure an existing program to change time to schedule. The following command would schedule a program to start every day and at 08:00:
progscheduler -a ProgramOrFolderToScheduleUniqueName -t "08:00"
To add excluded days to 'ProgramOrFolderToScheduleUniqueName' configuration:
progscheduler -a ProgramOrFolderToScheduleUniqueName -ex 29/03/2023 1/5/2023
The following is an example of the previous configuration of the 'ProgramOrFolderToScheduleUniqueName' scheduled job:
ProgramOrFolderToScheduleUniqueName:
alias: ProgramOrFolderToScheduleUniqueName
days:
- monday
- friday
- saturday
exclude:
- 29/03/2023
- 1/5/2023
include: []
path: C:\Users\<username>\Desktop\program.exe
status: 'on'
time: 08:00
time_to_stop: 'off'
To configure an existing program to change days to schedule:
progscheduler -a ProgramOrFolderToScheduleUniqueName -d everyday
To empty out the 'exclude' and/or include arguments, just add the desired argument without anything after it:
progscheduler -a ProgramOrFolderToScheduleUniqueName -ex -in
To configure any global configuration just use the argument to change:
> progscheduler --exit-when-done # will close terminal/command prompt window automatically.
> progscheduler --no-exit-when-done # will do nothing.
To delete an existing configuration:
progscheduler -del ProgramOrFolderToScheduleUniqueName
When all desired files are scheduled in the configurations, the following command will run the scheduler considering every configuration made:
progscheduler --run
Once the progscheduler starts running it will not stop alone, to cancel just run CTRL + C or close the terminal window. The exception to this is if the '--exit-when-done' is enabled.
If any problems occurs, feel free to open an issue.
This project was developed for both need and educational purposes, so I'm available to maintain this project, so any bugs, suggestions, new features, improvements, etc, don't hesitate to ask, open an issue or a pull request.
FAQs
A simple automated task to schedule files to open in specific days of the week or every day at startup or at specific time of the day.
We found that progscheduler demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.