- Added a new command to adjust next run and last run times of jobs based on input options. The command parses the adjustment time provided and updates the job entities accordingly.
Webcron Management
(c) 2017-2018, 2021- Jeroen De Meerleer me@jeroened.be
Webcron management is an easy-to-use interface to manage cronjobs running on a publicly available http-location.
Building
Requirements for build-server
- php <= 8.1 (incl composer <= 2, ext-pcntl, ext-openssl, ext-intl)
- NodeJS <= 16.0 (incl. npm <= 8)
Building
Please run following command on the build server
$ composer install --no-dev --optimize-autoloader
$ npm install
$ npm run build
$ rm -rf node_modules # Node modules are only required for building
Installation
Requirements
- php <= 8.1
- ext-openssl
- ext-intl
- ext-pcntl (highly recommended)
- MariaDB
- SSH-access to the server
- Ability to change the webroot directory
- Ability to run a script as daemon (eg. supervisor or systemd units)
Installation
-
Create a build yourself or download the build from the releases page
-
Upload the build to the webserver.
-
Set up your webhosting to use the
/public
directory as web root -
Create the .env file by copying .env.sample to .env and change the values
-
Run
php bin/console doctrine:migrations:migrate
to create or migrate the database -
Create a first user by running
php bin/console webcron:user add
-
Set up the daemon script using systemd, supervisord or similar system
If this is not possible running the daemon using a cronjob is still possible using below gist (Not recommended)
0 * * * * cd /path/to/webcron/ && php webcron daemon --time-limit=3600 > /dev/null 1&>2
Upgrading
Requirements
Same requirements and deploying
Procedure
- Remove all files except .env from the webserver
- Upload the new build to the webserver
- Run
php bin/console doctrine:migrations:migrate
to migrate the database
Common pitfalls
I can't do an automatic system upgrade!
Doing a system upgrade requires sudo which has a certain number security measurements. To enable running anything with sudo (eg. sudo apt dist-upgrade -y
) the user needs to be able to run sudo without tty and password.
TL;DR