Comments (6)
Currently quicksilver operations are limited to a 120 second timeout. If you're not getting results, that's likely the reason why. I think it's far to say we should make that clear, which I'll check up on.
More generally, you should be able to trigger this same operation (with no timeouts) as a standard part of the database clone workflow within the UI.
from quicksilver-examples.
Hi @joshkoenig . I'm going to enumerate the issues for brevity here. Don't read anything else into my terseness.
WRT the use case for this:
- I know I should be able to trigger this using the UI, but for some reason it doesn't work on all my sites
- One site in particular has issues with the urls of the main navigation not being replaced, which makes it a huge pain to remember fix with `terminus wp "search-replace foo bar" every time I make a multidev environment
- In particular I have a ticket open with pantheon support since June 2015 about this that wasn't really resolved. I didn't push the issue.
- Also, it would be handy to force this to happen automatically every time the database is cloned from live.
As for the possible timeout:
- My db is bigger than average (174MB in the backups). It does take a bit of time to do a
wp search-replace
locally, but the db is mostly full of audit logs that my client doesn't want to lose, so I can't do much about it. - Can someone confirm that's the issue?
- If so, I agree, you should document it
- There should be some sort of output in the workflow logs in this failure case. As I noted there's not only no record of the workflow failing, there's no record of it even starting.
- As well, any debugging statements, even ones added before the potentially problematic, long running code, also don't make it to the workflow log, which is certainly violating the PLOS.
I'm not sure this is the right place to discuss this, 'cause it doesn't really seem like an issue related to a "quicksilver-example". Let me know if you'd prefer to move this off thread.
from quicksilver-examples.
I know I should be able to trigger this using the UI, but for some reason it doesn't work on all my sites.
By any chance do the sites where this doesn't work have no WordPress icon on your home screen? If they aren't properly associated with WP as their "framework" then the WP-specific dashboard options will not be present.
It does take a bit of time to do a wp search-replace locally.
If it takes over 120 seconds, this is very likely the issue. This is documented, but it's easy to miss. I'll follow up with our support team to dig in and make sure this is the case. Clearly room for improvement here.
from quicksilver-examples.
By any chance do the sites where this doesn't work have no WordPress icon on your home screen? If they aren't properly associated with WP as their "framework" then the WP-specific dashboard options will not be present.
No. The options are there. They just don't work. Some urls are replaced, some are not. When I run a search-replace with terminus it replaces the rest of them and fixes it.
If it takes over 120 seconds, this is very likely the issue. This is documented, but it's easy to miss. I'll follow up with our support team to dig in and make sure this is the case. Clearly room for improvement here.
FWIW, on my local dev machine that looks like:
time wp search-replace https://www.marsdd.com http://marsdd.dev:8888
.....
Success: Made 113123 replacements.
real 1m33.815s
user 0m0.817s
sys 0m0.126s
so, less than 120 seconds, but I have no way of knowing how long it would take inside a Pantheon container.
from quicksilver-examples.
No. The options are there. They just don't work. Some urls are replaced, some are not. When I run a search-replace with terminus it replaces the rest of them and fixes it.
Well that's weird. They do the exact same thing on the back-end. I'll look up the case number.
so, less than 120 seconds, but I have no way of knowing how long it would take inside a Pantheon container.
Likely a bit longer if only because of the remote DB connection. That adds a few milisecond penalty to each request vs when it's all on one machine. if you're doing 100k replacements, that adds up. We've sponsored some improvements to the performance of WP-CLI that should help speed things up in general, but they're only rolling out now.
We've identified the need to get better feedback on timeouts and should be able to improve this situation in the coming weeks. I'll follow up on your support tickets with specific confirmation that this was the cause, as well as looking into why you're not able to use the time-unlimited built-in dashboard function to take care of your search-and-replacing.
from quicksilver-examples.
This is now partially fixed. We are handling timeouts properly internally.
Still work to do in order to get the timeouts to be presented nicely in the Terminus workflows --watch
output.
from quicksilver-examples.
Related Issues (20)
- Can sync_code detect a git tag creation? HOT 1
- URL Checker value always 1 HOT 1
- Slack Notifications don't work with multidev HOT 2
- undefined variable: deploy tag in new_relic_deploy.php script HOT 2
- Example of Programmatic Backup?
- New Relic API v2 HOT 3
- Example wanted: Post Solr schema after creating new multidev env with Drupal HOT 5
- [docs] Timeout 60 seconds
- Reducing secrets.json credential overlap or confusion
- Add curl timeout to New Relic API request, to prevent hung php worker / failed deploy workflow
- Edit readme to make it clearer
- Remove SpotBot VRT script
- False positive quicksilver status on passthru HOT 10
- Is it possible to setup database version ? HOT 2
- diffy.website integration is unnecessarily tedious HOT 1
- autopilot_vrt example
- Slack integration - correct script location
- Script path and 404 while running your Quicksilver operation HOT 2
- Copying example.pantheon.yml file may cause some error
- GitHub Action from GitHub App example
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quicksilver-examples.