Comments (6)
Thank you for the report. Have you ever used Symfony? I am using the Console's progress bar, nothing (I think) out of the ordinary here.
If you have time maybe you could try to write a small script with a progress bar using only Symfony to see if it's a problem there or in Bref?
from bref.
Hello,
No problem. I tried that, and the progress bar worked as expected. I just tried the default, plain Symfony bar (as shown in the image). That seems to be working fine using this script.
require __DIR__.'/vendor/autoload.php';
use Symfony\Component\Console\Helper\ProgressBar;
use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Formatter\OutputFormatter;
$output = new ConsoleOutput();
$output->setFormatter(new OutputFormatter(true));
echo "Starting ...\n";
// creates a new progress bar (20 units)
$progressBar = new ProgressBar($output, 20);
// starts and displays the progress bar
$progressBar->start();
$i = 0;
while ($i++ < 20) {
sleep(1);
$progressBar->advance();
}
// ensures that the progress bar is at 100%
$progressBar->finish();
echo "\nDone!\n";```
from bref.
Thank you for trying all that! I'm thinking 2 things could cause the issue:
- I overloaded the progress character:
$progressBar->setBarCharacter('░');
https://github.com/mnapoli/bref/blob/master/src/Console/Deployer.php#L213 - I output stuff above the progress bar while it is being re-rendered: https://github.com/mnapoli/bref/blob/master/src/Console/Deployer.php#L88-L90
If you still have your script around maybe you could try with $progressBar->setBarCharacter('░');
?
from bref.
Ah, that could be it.
I tried again with that progress bar character, and the bar was invisible. The '>' was still at the end, and that did progress, but perhaps your formatting removes that.
When I tried another character, like:
$progressBar->setBarCharacter('*');
... it worked, and the bar filled (in my test code anyway). So what I might do is try editing your code locally to overwrite that line, try a deploy, and see if I see a bar. If so, it is that character that's causing it.
from bref.
Hello,
Yes, changing the character made the bar appear. I tried a * but I guess any ASCII would do.
However - and this may be to do with what the progress bar is monitoring - it doesn't update during an upload. It (and the time) does not change. It only seems to reflect the steps completed. Perhaps that is how it is meant to work, treating each step as taking an equal time. But since the upload of the Lambda, the last bit, is by far the slowest bit of the process (for me on my connection anyway!), I would find it helpful if a/the bar monitored the upload progress (as in X MB/Total MB).
from bref.
I've changed the characters so that it works on Ubuntu too (I reverted back to Symfony's default style).
As for the progress it is very hard to use serverless' progress, I won't work on it but feel free to do so and send a PR if you want to.
from bref.
Related Issues (20)
- Handle "Response too big" in Console functions HOT 2
- PlanetScale removed the Hobby tier
- Long running CLI commands repeat every 2 minutes HOT 1
- Troubleshooting Bref Docker Deployment with Octane Handler
- Symfony CLI DATABASE_URL Not Found HOT 1
- Can I fire putJobSuccessResult event from AWS Lambda which is developed with Bref? HOT 1
- Feedback for “Custom domain names” HOT 1
- I am getting this issue :-
- OPENSSL_3.3.0' not found (required by /opt/lib/libssl.so.3) HOT 10
- Stopping 1.x maintenance
- Feedback for “Serverless Laravel - Getting started” HOT 3
- NOTICE since upgrading to v2 HOT 1
- Brefv2 500 Errors Not In Logs HOT 5
- PHP ext-intl is required on layer 8.3 HOT 1
- CURL SSL_ERROR_SYSCALL calling another Lambda HOT 7
- Env always return null after update packages to bref 2 version
- max_execution_time not working HOT 3
- Laravel 11, PHP 8.3 mysql driver not enabled, also can't use postgress
- Bref Serverless v4 HOT 11
- php (not fpm) with BREF_LOOP_MAX=1 is 2x slower than php-fpm
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 bref.