Support

UNiTE, Remote CLI, eXtract Wizard

#22778 Why prohibit Akeeba UNiTE to run only from the CLI?

Posted in ‘UNiTE and Remote CLI’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

PHP version
n/a
Tool
UNiTE
Tool version
n/a

Latest post by nicholas on Friday, 12 June 2015 07:38 CDT

user87369
Hello,

I am wondering why there are checks in UNiTE so it can only be run the CLI. I removed those checks and the tool runs perfectly in the browser window.
Background: My webhosting contract does not provide an SSH access. Yet I can install cron jobs through the admin interface, but they must be called through an HTTP request.

Best regards
Richard

nicholas
Akeeba Staff
Manager
If it ran from a web browser count yourself EXTREMELY lucky. Running PHP from the web browser is subject to the following timeouts and restrictions:

  • PHP maximum execution time.
  • Apache (or, generally, web server) timeout waiting for PHP to return results.
  • Proxy server timeouts.
  • Request caching.
  • CPU usage limits.


Any one of these can make a long running job fail. We have to go to EXTREME lengths to prevent these from happening in ANGIE, the regular restoration script. In a few rare cases even these extreme measures are not enough and cause a failure.

Moreover, if you are restoring from a browser you don't need UNiTE. UNiTE is the unattanded site restoration engine. That's how it's got its name. It's designed to run from a CRON job and restore sites without human intervention.

Of course UNiTE is open source, therefore your code is yours to modify. If you think it's wise to not heed my warnings and run it from a web browser, do it. In this case please do not request support. We won't provide support because we already know that running UNiTE from a browser is just asking for trouble. If you ask for trouble and you get it, well, you have been warned I guess.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

user87369
Thank you for your elaborate answer.
Yet wondering why are so upset, I believe you have not completely read my question/explanation.
I never stated I wanted to run UNiTE from the browser on a regular basis. I also never ignored any warnings as your reply was the first to this ticket. I mentioned that I don't have shell access to my webhosting space, yet I can install cronjobs that are being started through an HTTP request. Thus the browser call was for testing and configuration debugging purposes.
Now, I don't know much about the differences of a direct CLI and HTTP call, but as the provider implemented it that way, they sure must provide means to ensure that the cronjobs scripts are able to run. At least I got the information that the PHP max execution time is set to 600 seconds, now that's something.
Well, thanks for the heads-up; the possiblity to run a professional deployment scenario through Akeeba Backup and UNiTE will sure find some mentioning.

nicholas
Akeeba Staff
Manager
I am not upset. I am simply reminding you very thoroughly that I do know all the ways the restoration with UNiTE can and will fail when you launch it from a browser and this is why it is not allowed to run UNiTE from a browser. In other words I answered your question.

Look, we live in a time where your order of steaming hot coffee at Starbucks comes in a cup with the message "WARNING: CONTENTS MAY BE HOT" (as if the steam coming off isn't clue enough) engraved on the lid. I am simply trying to put a similar "WARNING: MAY SCREW UP YOUR SITE WHEN USED FROM BROWSER" message on the lid of UNiTE. Otherwise I know exactly what will happen: in 6 to 9 months some client will come and tell me that they tried running UNiTE from a browser following the discussion in ticket 22778, it didn't work and I am to blame for that. I really, honestly, don't want to have to prove I am not an elephant so please allow me to say once more that running UNiTE from a browser is a bad, unsupported idea bound to end up in a screwed up restoration. This notice has nothing to do with you but with anyone else who will be reading this ticket.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!