GithubHelp home page GithubHelp logo

Comments (3)

goblinfactory avatar goblinfactory commented on May 18, 2024

Can you please be more specific? Do you mean that some functionality no longer works, or that a specific test no longer works? If so, which test are you referring to? Please give the name of the test that fails, and the name of the file the test is in so that I can take a look.

from konsole.

sekulicb avatar sekulicb commented on May 18, 2024

Download nuget, copy paste ProgressBar worked parallel example and the line

var files = q.Dequeue(d.cnt).ToArray();

could not be resolved. Do we need another nuget package ?

'''
using Konsole;

Console.WriteLine("ready press enter.");
Console.ReadLine();

var dirCnt = 15;
var filesPerDir = 100;
var r = new Random();
var q = new ConcurrentQueue<string>();
foreach (var name in TestData.MakeNames(2000)) q.Enqueue(name);
var dirs = TestData.MakeObjectNames(dirCnt).Select(dir => new
{
    name = dir,
    cnt = r.Next(filesPerDir)
});

var tasks = new List<Task>();
var bars = new ConcurrentBag<ProgressBar>();
foreach (var d in dirs)
{
    var files = q.Dequeue(d.cnt).ToArray();  <-- this line here --
    if (files.Length == 0) continue;
    tasks.Add(new Task(() =>
    {
        var bar = new ProgressBar(files.Count());
        bars.Add(bar);
        bar.Refresh(0, d.name);
        ProcessFakeFiles(d.name, files, bar);
    }));
}

foreach (var t in tasks) t.Start();
Task.WaitAll(tasks.ToArray());
Console.WriteLine("done.");

'''

Thanks

from konsole.

goblinfactory avatar goblinfactory commented on May 18, 2024

Hi @sekulicb you've cut and pasted only a small part of the sample project. I suggest you clone the whole sample project and then look at all the code in the sample project.

The code you have copied comes from ProgressBarDemos.cs in Konsole.Sample project. You've copied lines 54 to 88 and you did not copy the rest of the file that includes an extension method helper at lines 15 to 28.

        public static IEnumerable<T> Dequeue<T>(this ConcurrentQueue<T> src, int x)
        {
            int cnt = 0;
            bool more = true;
            while (more && cnt<x)
            {
                T item;
                more = src.TryDequeue(out item);
                cnt++;
                yield return item;
            }
        }

Copy the whole sample project and use that to take a look around.
. :D easy mistake.

from konsole.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.