Cron tasks
-
Hi!
I have an image optimization plugin in Wordpress (dev) that needs wp-cron to work. It's not working with Cloudron's default settings. I don´t know why.
Is it possible that I have to call wp-cron every so often to get it to work? (2 times a day for example)
How should I do it from the Cron tab of the application?Screenshot: https://prnt.sc/26q7kaa
Thank you.
-
@mdreira wp-cron is automatically configured and you don't have to run/configure things manually. The cron section is only meant for any additional cron tasks that you want to run which are (often) unrelated to the app. You can manually run
/app/pkg/cron.sh
via the Web Terminal and check if the cron tasks are running or not. Can you please try?BTW, feel free to post those images inline here. Those links often lead me to some captcha links and hard to get the context for future readers.
-
-
@girish Screeshot: https://prnt.sc/26qbnex
-
@mdreira right, that means that the app has no scheduled events. Is the plugin scheduling any event? Not a WP expert, but you also check with various cron commands like this:
sudo -u www-data -i -- /app/pkg/wp --path=/app/data/public/ cron
See https://developer.wordpress.org/cli/commands/cron/ for subcommands. For example, https://developer.wordpress.org/cli/commands/cron/event/
-
@girish Yes, the task was on the list.
The plugin people ask me what is the code with which Cloudron starts wp-cron to see if it is compatible.
EDIT: I have seen the error. Screenshot: https://prnt.sc/26qc3mk
-
@girish Side note but FWIW, it may be worth updating/clarifying the documentation here: https://docs.cloudron.io/apps/wordpress-developer/#cron-tasks
The doc saying "
The app is configured to run WordPress cron tasks every minute.
" seems a bit conflicted with the statement later that reads "WordPress' built-in cron task schedule wp-cron is disabled since it is not effective for low traffic websites.
"I believe we're running our own cron tasks in Cloudron which manually invokes the WP-Cron every minute instead of the default behaviour of WP running it itself only when the website is visited, correct?
-
@d19dotca Right...
wp-cron
with the hyphen refers to the filewp-cron.php
which is this PHP code that runs WP cron jobs via apache. Of course, PHP code only runs if someone visits the web site. So, if no one visits your site for an hour, cron jobs are not run. So, on Cloudron (and most other WP hosts), we set up an external scheduler/timer to run the cron jobs.I guess what is being said is
The app is configured to run WordPress' cron tasks every minute without using the built-in wp-cron
-
@girish have you seen anything in error log? https://prnt.sc/26qc3mk
EDIT: The plugin guys tell us that the problem is the way we call to wp-cron.
So even though Cloudron calls wp-cron every minute, I would like to call it twice a day more with the typical type of call from the cron tab. Something like:
0 */12 * * * /usr/bin/php -q /public/wp-cron.php >/dev/null 2
This is the type of call that the plugin needs. It's possible?
We are interested in this image optimization plugin because it optimizes images in the cloud without a limit of megabytes. I have to try to make it work.
If you know of another plugin that does the same and works on cloudron, we can switch.
-
@mdreira We use WP CLI to run cron jobs like so:
sudo -u www-data -i -- /app/pkg/wp --skip-themes --path=/app/data/public/ cron event run --due-now
Are you able to run the command above manually and see if it produces the error message ? Also, remove the
--skip-themes
and check if that helps as well, maybe that's causing the problem. TBH, I am not 100% sure why we have--skip-themes
there, it should probably be removed. -
@girish Here I send you the screenshot of the terminal after sending those commands:
Running it like this did not make the plugin work.
The plugin cron task is this:
When the cron executes this task it gives me this error:
Is there any other way to execute that task? I have to get that plugin working. The plugin people don't know what's going on because our cloudron server is something special
-
@girish The plugin is optimizador.io (https://optimizador.io/)
Right now I edit the links of the screenshots and upload the images directly.
-