Saute the onion and celery: Get out a large pot or dutch oven, pour the olive oil into it, and place it over medium-high heat. Toss in the diced onion and celery and sautee both ingredients for roughly 4 minutes, or until the onions begin to turn translucent.
Make the soup base and cook the barley: Pour the 2 quarts of chicken stock into the same pot and let it come to a simmer. Then toss in the barley, and shredded carrot, stirring everything together. Cover the pot and let it simmer for an hour or until the barley has become cooked and tender.
Make the bechamel sauce: Get out a medium-sized pot and melt the butter in it over medium heat. Then toss in the flour and whisk the two ingredients together until they form a light roux, about 2 minutes. Follow this up by slowly pouring in the milk, about ΒΌ cup at a time, making sure to constantly whisk the roux and milk together. Continue to whisk the bechamel sauce for another 5 to 10 minutes or until it has become thick and velvety.
Add the bechamel sauce to the soup: Pour the bechamel sauce into the soup and stir so that it is incorporated. Then let the soup simmer uncovered for another 10 minutes. Finnish the soup by tasting it and adding enough salt and pepper to your liking.
Serve the Persian barley soup into bowls and allow people to add parsley leaves and lemon juice to their liking. Enjoy!