Commit Graph

115 Commits

Author SHA1 Message Date
Herman van Rink
164c05e40b fix: Cron misrepresenting itself as console
Signed-off-by: Herman van Rink <rink@initfour.nl>
2024-03-13 11:05:23 +01:00
Côme Chilliet
65bad47e7e fix: Suppress psalm errors about deprecated execute method, we have to use it for now
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-03-12 11:23:35 +01:00
Côme Chilliet
75751d51de fix: Call execute until it is removed for Job class
Because if an application extends execute it will change behavior
 without warning otherwise.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-03-12 11:01:46 +01:00
Sam Bull
ae3b9cce99 feat: check datadirectory owner instead of config.php owner
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-02-28 14:20:30 +01:00
Côme Chilliet
303e2febc7 Merge pull request #43387 from nextcloud/fix/migrate-away-from-ilogger-in-jobs 2024-02-08 18:27:44 +01:00
Ferdinand Thiessen
cdf7840d00 Merge pull request #43454 from nextcloud/fix/cleanup-cron-php
Cleanup cron.php method calls
2024-02-08 16:21:02 +01:00
Louis Chemineau
898df41de9 Revert "Merge branch 'master' of github.com:nextcloud/server"
This reverts commit d9d60238c7, reversing
changes made to ba3fdb0cdc.
2024-02-08 15:31:19 +01:00
Côme Chilliet
1eb89421cc fix(cron.php): Avoid pulling configuration twice
IConfig is a small wrapper around SystemConfig, no need to pull both of them

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-08 14:38:03 +01:00
Côme Chilliet
ecfa7c3ca3 chore(cron.php): Migrate uses of legacy classes from lib/private/legacy
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-08 14:31:34 +01:00
Côme Chilliet
65d013b9ae fix(cron.php): Use new IAppConfig interface in cron.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-08 14:16:44 +01:00
Côme Chilliet
eb89da9f30 chore(cron.php): Migrate away from ILogger and \OC::$server
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-08 13:57:48 +01:00
Côme Chilliet
b105603fd1 chore: Remove last uses of IJob::execute method
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-08 10:28:29 +01:00
Joas Schilling
eeb0007cd3 fix(cron): Fix "Using $this when not in object context"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-10 15:51:22 +01:00
Joas Schilling
b8c57efaad fix(log): Improve logging of background job details for better reproduction/debugging
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-20 15:35:40 +01:00
Joas Schilling
28b55bba55 feat(cron): Warn on excessive memory consumption in background jobs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-20 10:58:08 +01:00
Julius Härtl
c8a6dad519 Cleanup tempfiles after each cron job run
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-30 18:01:51 +02:00
Kirill Popov
0b27b9e658 Get not only time-sensitive next job from list but any
Before the change webcron used to select
**only** time-sensitive tasks.

Signed-off-by: Kirill Popov <kirill.s.popov@gmail.com>
2022-04-24 21:55:53 +03:00
Joas Schilling
3fd55cb4df Allow sysadmins to define a maintenance window where heavier jobs can run
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-02-07 13:54:54 +01:00
Louis Chemineau
6afab63e09 Output exception in cron
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-08-19 12:40:55 +02:00
smichel17
84d3a5f8e6 cron: exit 1 on exception
Allows the caller to more easily respond to cron failures.

Signed-off-by: Stephen Michel <git@smichel.me>
2021-08-08 11:59:51 -04:00
John Molakvoæ (skjnldsv)
215aef3cbd Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Christoph Wurst
9ce3ea3368 Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 14:07:05 +01:00
Roeland Jago Douma
adc4f1a811 Merge pull request #22916 from J0WI/unifiy-links-to-php.net
Unify links to php.net
2020-12-22 09:53:31 +01:00
Christoph Wurst
d89a75be0b Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
hoellen
563f1318cd Remove posix_getpwuid and compare only userid
Signed-off-by: hoellen <dev@hoellen.eu>
2020-10-06 13:03:08 +02:00
J0WI
68ce17e59b Unify links to php.net
Update all links to https://www.php.net/

Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-09-17 17:40:04 +02:00
Christoph Wurst
cb057829f7 Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Christoph Wurst
caff1023ea Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst
1a9330cd69 Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Christoph Wurst
b80ebc9674 Use the short array syntax, everywhere
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +01:00
Michael Kuhn
ab6a18f420 cron: Adapt to 5 minutes recommendation
Update the comment to make clear that we ask for 14 minutes worth of
jobs on purpose so at most three parallel cron jobs are running.

Signed-off-by: Michael Kuhn <michael@ikkoku.de>
2020-02-17 21:47:19 +01:00
Christoph Wurst
5bf3d1bb38 Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Daniel Kesselberg
f25e2d82a5 Make the warning about wrong permissions more clear.
It's basically the same as for console.php now.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-08-17 17:18:17 +02:00
Joas Schilling
0c77cd21f9 Make sure maintenance mode is always casted to bool
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-22 08:25:41 +01:00
Joas Schilling
7860c81523 Fix code style
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-05-23 17:33:11 +02:00
Morris Jobke
dd34cb7540 Less deprecated calls to OCP\Util::writeLog
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-22 20:41:49 +02:00
Morris Jobke
9ef6148bfa Deprecated OCP interface to fetch background job type
* was not used by apps and also is not needed
* migrated the documentation to IJobList

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 10:43:01 +01:00
Morris Jobke
e70edb33db Log full exception in cron instead of only the message
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-12 15:24:28 +01:00
Roeland Jago Douma
b8af7ee9bc Nextcloud 13 is not compatible with newer than php 7.2
Just to avoid users from trying this with a to new (untested) php version

* Moved the check logic to 1 place
* All directly callable scripts just require this on top
* exit hard (-1) so we know scripts won't continue
* Return status 500 so no sync clients will try fancy stuff

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-12 10:55:09 +01:00
Morris Jobke
0eebff152a Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Morris Jobke
1c38a83927 Always log cron execution
There was a setting to disable the last execution of cron. There is no known
problem with this write access and it was also questioned when this feature
was build in https://github.com/owncloud/core/pull/7689#issuecomment-38264707

Recently there was also a bug report about a non-visible last cron execution
(#6088) - let's better remove this.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-17 09:45:11 +02:00
Noveen Sachdeva
1b1f403a5d Add duration of last job execution to the table 2017-04-25 17:39:58 +02:00
Ko-
0024b67aaf Check that set_time_limit is not disabled before calling it
Signed-off-by: Ko- <k.stoffelen@cs.ru.nl>
2017-03-11 17:04:21 +01:00
Artem Sidorenko
4541240da2 Exit with error code if posix ext missing or wrong user
similar to the console.php
2017-03-08 20:04:55 +01:00
Morris Jobke
9533f4e5ed Clean up single user mode
Single user mode basically disables WebDAV, OCS and cron execution. Since
we heavily rely on WebDAV and OCS also in the web UI it's basically useless.
An admin only sees a broken interface and can't even change any settings nor
sees any files. Also sharing is not possible.

As this is at least the case since Nextcloud 9 and we haven't received any
reports for this it seems that this feature is not used at all so I removed it.

The encryption commands now rely on the well tested maintenance mode.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-22 23:02:31 -06:00
Roeland Jago Douma
1741fe0310 Also check in cron for old php version
Fixes #2756

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-12-19 15:31:24 +01:00
Vincent Petry
5eb01b01a9 [master] Tear down FS between cron jobs (#26223)
Because some cron jobs do not always properly clean up their FS usage
and others might not clean up before setting up the FS, this could
cause potential side effects.

To make sure we exclude side effects, we tear down the FS between cron
jobs.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-12 08:37:17 +02:00
Joas Schilling
f3319f6294 Allow to call the files even when you are in another instance atm
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-06 12:15:13 +02:00
Jörn Friedrich Dreyer
ac5788927a log class name, ID only is hard to debug 2016-08-09 14:21:50 +02:00
Damjan Georgievski
982bdb1823 introduce NEXTCLOUD_CONFIG_DIR env variable (see #300)
nextcloud by default uses the `/config/` directory in the source/application tree for its config file(s).
with this commit that directory can be overridden by the `NEXTCLOUD_CONFIG_DIR` environment variable.

in uwsgi, you would use the option `--env "NEXTCLOUD_CONFIG_DIR=/tmp/nx-config/"`
in apache `SetENV …`
and the cli command can be run with: `NEXTCLOUD_CONFIG_DIR=/tmp/nx-config ./occ` (or just use `export` once in the
shell).

NEXTCLOUD_CONFIG_DIR can be supplied with or without the trailing slash (`/`), but in all cases `$configDir` will have
it automatically added if needed.

The other changes are several occurrences of `OC::$SERVERROOT . '/config'` to `OC::$configDir`.
2016-07-29 17:49:14 +02:00