@mattab opened this Issue on February 2nd 2014 Owner

The implementation of our Cron Archive script should use Php CLI instead of doing Http requests to the webserver. This would remove one system in the middle and should make archive script slightly more reliable.

Because the piwik.php webcron also uses the CronArchive logic then either we change this logic, or keep the CURL wrapper in the CronArchive (when Php CLI not available or exec() disabled).

@tsteur commented on February 5th 2014 Owner

In 238e71a2bb514e851ba4b1129ffe4339f9689ab0: refs #4610 trigger archiving using cli instead of http

@tsteur commented on February 10th 2014 Owner

In 19385b007ea14a6e4a5d8ba4b53cf12cd150ccc9: refs #4610 worked on executing cli commands in parallel but not tested yet

@tsteur commented on February 10th 2014 Owner

In 65d4083f66fef87ac14d27de39ccd3d3e0334cef: refs #4610 simplified the fallback if async is not supported, tests and fixes for output class

@tsteur commented on February 10th 2014 Owner

In 095af9592d9706c36634a6e325fc453b43524d29: refs #4610 fix headers

@tsteur commented on February 10th 2014 Owner

In 9cba66f58aa0cd85af5a0277e90c33445095f1bc: refs #4610 use existing methods, lock does not work on Windows (yet), save locks in a separate folder

@tsteur commented on February 10th 2014 Owner

In 279a4d6978dd5ddcbb39b4e703bd6fdfb6a170b7: refs #4610 I moved the Lock class to CliMulti as it does not 100% work on windows and is only used in CliMulti so far. As the Lock class can be quite useful and maybe needed in other use cases it would be nice to have it somewhere under core or so as it is not directly related to CLI. We might have to move it later again. Need to find a better solution for windows

@tsteur commented on February 11th 2014 Owner

In 113e403a9e5a6ccab2762fc321382b540b51f8d9: refs #4610 tests for cliMulti and loads of bugfixes

@tsteur commented on February 11th 2014 Owner

In f06a7a1d22fc446818b7e0282c510040bf3b08c8: refs #4610 Pid => Process

@tsteur commented on February 11th 2014 Owner

In a2a586a0bf38c41fbd998bcb00cb7f081cd06555: refs #4610 make sure the fallback mode works in case async is not supported

@tsteur commented on February 11th 2014 Owner

In dffb297929d804608bdd1163aa7857247958dd20: refs #4610 use a command to execute a request, this way we do not have to bootstrap everything again and we already make sure it is only executed from the command line

@tsteur commented on February 11th 2014 Owner

In fdc866ab9aac1dccd0ed1e5009537738c5a9ae19: refs #4610 make sure the command awk exist

@tsteur commented on February 11th 2014 Owner

In 6247a101b9cd8b8f389b1188844ac63f670a5780: refs #4610 store everything in climulti folder for easier cleanup later, some other optimizations

@tsteur commented on February 11th 2014 Owner

In cb994c98a5b1f4847fa80c64b4eef3df7ad18ec1: refs #4610 prevent some notices like "failed to read from stream" which happens if a subprocess tries to write to a file and the archiver just tries to file_get_content at the same time. So file_exists returned true just a few ms before but while trying to read it fails

@tsteur commented on February 11th 2014 Owner

In 7947a56872d977286a3cf98e361bb4c767e7305a: refs #4610 if a process does not start after 8 seconds, finish it as the process probably will not start anyway

@tsteur commented on February 11th 2014 Owner

In f86af8bb7d44ab73bb36d9c318232dd65afbf13d: refs #4610 do not start the actual process in case it was marked as finished meanwhile

@tsteur commented on February 11th 2014 Owner

In 3c5a91d43de47d78e61ee75a59293e205d534813: refs #4610 simplified some logic, fallback to http on windows, redirect the output of php to get output even if piwik exits

@tsteur commented on February 11th 2014 Owner

In 329115b1d42cb199571645ad581f2d0c4d82b221: refs #4610 simplified, delete old files that were not cleaned up

@tsteur commented on February 11th 2014 Owner

In fc57db82a5b6030c2031b9aeea8e190182fa2a8f: refs #4610 I do not like to have the climulti in http class as one could assume it works on all systems etc. Only use it for archiving for now

@tsteur commented on February 11th 2014 Owner

In 531b3576382e3ebefe1b8a645533ea642b9dbd3d: refs #4610 some code tweaks and optimizations

@tsteur commented on February 12th 2014 Owner

In 626dcee73e9bbcd62a4ee9a3d990eb0509682ef4: refs #4610 another way to get the php binary

@tsteur commented on February 12th 2014 Owner

In 1fba8fffcd97b0f949972e17ba9a4ea44290affd: refs #4610 added missing groups

@tsteur commented on February 12th 2014 Owner

In a2d44f50dfd1cfc9796d74ae25ac6d9090fbc4ab: refs #4610 might fix integration tests

@tsteur commented on February 12th 2014 Owner

In f39d3ccc68fb864b2586a0b9c6a20aa27be137e0: refs #4610 fix tests

@tsteur commented on February 12th 2014 Owner

In 3510045fcb484edec054ad4b1c1940c952e88958: refs #4610 make sure to rewrite tmp path if needed

@tsteur commented on February 12th 2014 Owner

In d09986addbc7872878e17b475192f6c44bd6e782: refs #4610 create climulti tmp dir before running test

@mattab commented on February 12th 2014 Owner

In 89b9cfbcda4b7fad98cf25e41d072ee8012b3148: Refs #4610 do not require this directory writable, in the UI, only in the archive.php run

@mattab commented on February 16th 2014 Owner

Great work Thomas, we believe this ticket is now implemented. Please report if you have any feedback or issue!

@tsteur commented on February 17th 2014 Owner

In d78a9c5af7be0e1b3258abe3a54d44e0b238cf98: refs #4610 this should fix the tests

This Issue was closed on February 17th 2014
Powered by GitHub Issue Mirror