diff --git a/tasks/mikhailov-ys/Lab_4/.gitignore b/tasks/mikhailov-ys/Lab_4/.gitignore deleted file mode 100644 index 3c395b3..0000000 --- a/tasks/mikhailov-ys/Lab_4/.gitignore +++ /dev/null @@ -1,456 +0,0 @@ -var/result/ - -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Mono auto generated files -mono_crash.* - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Ww][Ii][Nn]32/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ -[Ll]ogs/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUnit -*.VisualState.xml -TestResult.xml -nunit-*.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET -project.lock.json -project.fragment.lock.json -artifacts/ - -# Tye -.tye/ - -# ASP.NET Scaffolding -ScaffoldingReadMe.txt - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*_wpftmp.csproj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Coverlet is a free, cross platform Code Coverage Tool -coverage*.json -coverage*.xml -coverage*.info - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# NuGet Symbol Packages -*.snupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx -*.appxbundle -*.appxupload - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!?*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser -*- [Bb]ackup.rdl -*- [Bb]ackup ([0-9]).rdl -*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# Local History for Visual Studio -.localhistory/ - -# BeatPulse healthcheck temp database -healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -MigrationBackup/ - -# Ionide (cross platform F# VS Code tools) working folder -.ionide/ - -# Fody - auto-generated XML schema -FodyWeavers.xsd - -## -## Visual studio for Mac -## - - -# globs -Makefile.in -*.userprefs -*.usertasks -config.make -config.status -aclocal.m4 -install-sh -autom4te.cache/ -*.tar.gz -tarballs/ -test-results/ - -# Mac bundle stuff -*.dmg -*.app - -# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore -# Windows thumbnail cache files -Thumbs.db -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# JetBrains Rider -.idea/ -*.sln.iml - -## -## Visual Studio Code -## -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json diff --git a/tasks/mikhailov-ys/Lab_4/Main/Consumer1/Consumer1.csproj b/tasks/mikhailov-ys/Lab_4/Main/Consumer1/Consumer1.csproj deleted file mode 100644 index 7613aab..0000000 --- a/tasks/mikhailov-ys/Lab_4/Main/Consumer1/Consumer1.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - - - - - - diff --git a/tasks/mikhailov-ys/Lab_4/Main/Consumer1/Program.cs b/tasks/mikhailov-ys/Lab_4/Main/Consumer1/Program.cs deleted file mode 100644 index 8a893bf..0000000 --- a/tasks/mikhailov-ys/Lab_4/Main/Consumer1/Program.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Text; -using RabbitMQ.Client; -using RabbitMQ.Client.Events; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.QueueDeclare(queue: "accepted"); -channel.QueueBind(queue: "accepted", - exchange: "report", - routingKey: string.Empty); - -Console.WriteLine(" [*] Waiting for messages."); - -var consumer = new EventingBasicConsumer(channel); -consumer.Received += async (model, ea) => -{ - byte[] body = ea.Body.ToArray(); - var message = Encoding.UTF8.GetString(body); - - string outputText = $"Заявление принято к обработке {message}"; - Console.WriteLine($" [x] Done. {outputText}"); - channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); -}; -channel.BasicConsume(queue: "accepted", - autoAck: false, - consumer: consumer); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); diff --git a/tasks/mikhailov-ys/Lab_4/Main/Consumer2/Consumer2.csproj b/tasks/mikhailov-ys/Lab_4/Main/Consumer2/Consumer2.csproj deleted file mode 100644 index 7613aab..0000000 --- a/tasks/mikhailov-ys/Lab_4/Main/Consumer2/Consumer2.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - - - - - - diff --git a/tasks/mikhailov-ys/Lab_4/Main/Consumer2/Program.cs b/tasks/mikhailov-ys/Lab_4/Main/Consumer2/Program.cs deleted file mode 100644 index f10862a..0000000 --- a/tasks/mikhailov-ys/Lab_4/Main/Consumer2/Program.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.Text; -using RabbitMQ.Client; -using RabbitMQ.Client.Events; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -Random rand = new Random(); -string queueName = $"denied{rand.Next()}"; - -channel.QueueDeclare(queue: queueName); -channel.QueueBind(queue: queueName, - exchange: "report", - routingKey: string.Empty); - -Console.WriteLine(" [*] Waiting for messages."); - -var consumer = new EventingBasicConsumer(channel); -consumer.Received += async (model, ea) => -{ - byte[] body = ea.Body.ToArray(); - var message = Encoding.UTF8.GetString(body); - - int waitTime = rand.Next(20, 90); - Thread.Sleep(waitTime * 100); - - string outputText = $"Заявление обработано {message} за {waitTime} минут"; - Console.WriteLine($" [x] Done. {outputText}"); - channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); -}; -channel.BasicConsume(queue: queueName, - autoAck: false, - consumer: consumer); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); \ No newline at end of file diff --git a/tasks/mikhailov-ys/Lab_4/Main/Publisher/Program.cs b/tasks/mikhailov-ys/Lab_4/Main/Publisher/Program.cs deleted file mode 100644 index 3a05f0a..0000000 --- a/tasks/mikhailov-ys/Lab_4/Main/Publisher/Program.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Text; -using RabbitMQ.Client; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.ExchangeDeclare(exchange: "report", type: ExchangeType.Fanout); -Random rand = new Random(); -foreach (var item in Enumerable.Range(0, 1000)) -{ - var message = rand.Next().ToString(); - - var body = Encoding.UTF8.GetBytes(message); - channel.BasicPublish(exchange: "report", - routingKey: string.Empty, - basicProperties: null, - body: body); - - Console.WriteLine($" [x] Поступило заявление {message}"); - await Task.Delay(500); -} - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); - -static string GetMessage(string[] args) -{ - return ((args.Length > 0) ? string.Join(" ", args) : "info: Принято!"); -} diff --git a/tasks/mikhailov-ys/Lab_4/Main/Publisher/Publisher.csproj b/tasks/mikhailov-ys/Lab_4/Main/Publisher/Publisher.csproj deleted file mode 100644 index 7613aab..0000000 --- a/tasks/mikhailov-ys/Lab_4/Main/Publisher/Publisher.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - - - - - - diff --git a/tasks/mikhailov-ys/Lab_4/README.md b/tasks/mikhailov-ys/Lab_4/README.md deleted file mode 100644 index 9c249fd..0000000 --- a/tasks/mikhailov-ys/Lab_4/README.md +++ /dev/null @@ -1,149 +0,0 @@ -# Отчёт по лабораторной работе №4 - -Выполнил: студент гр. ИСЭбд-41 Михайлов Ю.С. - -## Прохождение туториалов - -Установил RabbitMQ, Erlang и зашел в брокер под гостем по адресу http://localhost:15672/#/ - -Туториал 1: -![](pic/1.PNG) -![](pic/2.PNG) -![](pic/3.PNG) - -Туториал 2: -![](pic/4.PNG) -![](pic/5.PNG) -![](pic/6.PNG) -![](pic/7.PNG) - -Туториал 3: -![](pic/8.PNG) -![](pic/9.PNG) -![](pic/10.PNG) - -## Разработка демонстрационных приложений - -Предметная область - оформление заявлений на стипендию в университете. Разработано три приложения согласно предметной области. - -1. Publisher: -``` -using System.Text; -using RabbitMQ.Client; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.ExchangeDeclare(exchange: "report", type: ExchangeType.Fanout); -Random rand = new Random(); -foreach (var item in Enumerable.Range(0, 1000)) -{ - var message = rand.Next().ToString(); - - var body = Encoding.UTF8.GetBytes(message); - channel.BasicPublish(exchange: "report", - routingKey: string.Empty, - basicProperties: null, - body: body); - - Console.WriteLine($" [x] Поступило заявление {message}"); - await Task.Delay(500); -} - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); - -static string GetMessage(string[] args) -{ - return ((args.Length > 0) ? string.Join(" ", args) : "info: Принято!"); -} -``` -2. Consumer 1: -``` -using System.Text; -using RabbitMQ.Client; -using RabbitMQ.Client.Events; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.QueueDeclare(queue: "accepted"); -channel.QueueBind(queue: "accepted", - exchange: "report", - routingKey: string.Empty); - -Console.WriteLine(" [*] Waiting for messages."); - -var consumer = new EventingBasicConsumer(channel); -consumer.Received += async (model, ea) => -{ - byte[] body = ea.Body.ToArray(); - var message = Encoding.UTF8.GetString(body); - - string outputText = $"Заявление принято к обработке {message}"; - Console.WriteLine($" [x] Done. {outputText}"); - channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); -}; -channel.BasicConsume(queue: "accepted", - autoAck: false, - consumer: consumer); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); -``` - -3. Consumer 3: -``` -using System.Text; -using RabbitMQ.Client; -using RabbitMQ.Client.Events; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -Random rand = new Random(); -string queueName = $"denied{rand.Next()}"; - -channel.QueueDeclare(queue: queueName); -channel.QueueBind(queue: queueName, - exchange: "report", - routingKey: string.Empty); - -Console.WriteLine(" [*] Waiting for messages."); - -var consumer = new EventingBasicConsumer(channel); -consumer.Received += async (model, ea) => -{ - byte[] body = ea.Body.ToArray(); - var message = Encoding.UTF8.GetString(body); - - int waitTime = rand.Next(20, 90); - Thread.Sleep(waitTime * 100); - - string outputText = $"Заявление обработано {message} за {waitTime} минут"; - Console.WriteLine($" [x] Done. {outputText}"); - channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); -}; -channel.BasicConsume(queue: queueName, - autoAck: false, - consumer: consumer); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); -``` - -## Результаты выполнения работы - -Запуск каждой программы: -![](pic/11.PNG) -![](pic/12.PNG) -![](pic/13.PNG) - -Результаты обработки: -![](pic/14.PNG) -![](pic/15.PNG) - -Вывод: Consumer_2 нагружает меньше памяти, чем Consumer_1 и принимает сообщения гораздо быстрее, тем самым не позволяя очереди накапливать огромное количество сообщений diff --git a/tasks/mikhailov-ys/Lab_4/lab_4.sln b/tasks/mikhailov-ys/Lab_4/lab_4.sln deleted file mode 100644 index be2aa25..0000000 --- a/tasks/mikhailov-ys/Lab_4/lab_4.sln +++ /dev/null @@ -1,92 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.5.002.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{964E2358-8624-4435-A0C6-5B4E3C44DB7A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Consumer1", "Main\Consumer1\Consumer1.csproj", "{62525D49-B416-41D2-92DC-3025ABD8FED2}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Consumer2", "Main\Consumer2\Consumer2.csproj", "{71B9FCAD-EDBC-42C7-951E-2CEACB18B0AD}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Publisher", "Main\Publisher\Publisher.csproj", "{DAE03D67-36C7-424E-87F3-3D900293BA39}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tut1", "tut1", "{E28D0800-55F2-44CC-AF62-9524F6E70A1B}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Receive", "tut1\Receive\Receive.csproj", "{A8885758-2115-43E0-8672-5B0E2B33FB57}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Send", "tut1\Send\Send.csproj", "{D2ABDEBD-9E8D-4F38-A5BF-7F469EDB9B8C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tut2", "tut2", "{0E1855BF-5771-45F9-BB46-5D075DE99313}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NewTask", "tut2\NewTask\NewTask.csproj", "{F06A67F1-1606-4D01-84C6-10CE4F4A5273}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Worker", "tut2\Worker\Worker.csproj", "{22F91487-772C-4DA4-9BAC-D6BB44B10D6C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tut3", "tut3", "{D12C599A-23A2-4139-96A3-8188BC6135E2}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EmitLogs", "tut3\EmitLogs\EmitLogs.csproj", "{61B1A285-7B3C-4B60-8001-0757E6A88EA9}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReceiveLogs", "tut3\ReceiveLogs\ReceiveLogs.csproj", "{63AE28E6-F4E0-40E1-AAAC-F1C11111CFE8}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {62525D49-B416-41D2-92DC-3025ABD8FED2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {62525D49-B416-41D2-92DC-3025ABD8FED2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {62525D49-B416-41D2-92DC-3025ABD8FED2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {62525D49-B416-41D2-92DC-3025ABD8FED2}.Release|Any CPU.Build.0 = Release|Any CPU - {71B9FCAD-EDBC-42C7-951E-2CEACB18B0AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {71B9FCAD-EDBC-42C7-951E-2CEACB18B0AD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {71B9FCAD-EDBC-42C7-951E-2CEACB18B0AD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {71B9FCAD-EDBC-42C7-951E-2CEACB18B0AD}.Release|Any CPU.Build.0 = Release|Any CPU - {DAE03D67-36C7-424E-87F3-3D900293BA39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DAE03D67-36C7-424E-87F3-3D900293BA39}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DAE03D67-36C7-424E-87F3-3D900293BA39}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DAE03D67-36C7-424E-87F3-3D900293BA39}.Release|Any CPU.Build.0 = Release|Any CPU - {A8885758-2115-43E0-8672-5B0E2B33FB57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A8885758-2115-43E0-8672-5B0E2B33FB57}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A8885758-2115-43E0-8672-5B0E2B33FB57}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A8885758-2115-43E0-8672-5B0E2B33FB57}.Release|Any CPU.Build.0 = Release|Any CPU - {D2ABDEBD-9E8D-4F38-A5BF-7F469EDB9B8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D2ABDEBD-9E8D-4F38-A5BF-7F469EDB9B8C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D2ABDEBD-9E8D-4F38-A5BF-7F469EDB9B8C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D2ABDEBD-9E8D-4F38-A5BF-7F469EDB9B8C}.Release|Any CPU.Build.0 = Release|Any CPU - {F06A67F1-1606-4D01-84C6-10CE4F4A5273}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F06A67F1-1606-4D01-84C6-10CE4F4A5273}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F06A67F1-1606-4D01-84C6-10CE4F4A5273}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F06A67F1-1606-4D01-84C6-10CE4F4A5273}.Release|Any CPU.Build.0 = Release|Any CPU - {22F91487-772C-4DA4-9BAC-D6BB44B10D6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {22F91487-772C-4DA4-9BAC-D6BB44B10D6C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {22F91487-772C-4DA4-9BAC-D6BB44B10D6C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {22F91487-772C-4DA4-9BAC-D6BB44B10D6C}.Release|Any CPU.Build.0 = Release|Any CPU - {61B1A285-7B3C-4B60-8001-0757E6A88EA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {61B1A285-7B3C-4B60-8001-0757E6A88EA9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {61B1A285-7B3C-4B60-8001-0757E6A88EA9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {61B1A285-7B3C-4B60-8001-0757E6A88EA9}.Release|Any CPU.Build.0 = Release|Any CPU - {63AE28E6-F4E0-40E1-AAAC-F1C11111CFE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {63AE28E6-F4E0-40E1-AAAC-F1C11111CFE8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {63AE28E6-F4E0-40E1-AAAC-F1C11111CFE8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {63AE28E6-F4E0-40E1-AAAC-F1C11111CFE8}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {62525D49-B416-41D2-92DC-3025ABD8FED2} = {964E2358-8624-4435-A0C6-5B4E3C44DB7A} - {71B9FCAD-EDBC-42C7-951E-2CEACB18B0AD} = {964E2358-8624-4435-A0C6-5B4E3C44DB7A} - {DAE03D67-36C7-424E-87F3-3D900293BA39} = {964E2358-8624-4435-A0C6-5B4E3C44DB7A} - {A8885758-2115-43E0-8672-5B0E2B33FB57} = {E28D0800-55F2-44CC-AF62-9524F6E70A1B} - {D2ABDEBD-9E8D-4F38-A5BF-7F469EDB9B8C} = {E28D0800-55F2-44CC-AF62-9524F6E70A1B} - {F06A67F1-1606-4D01-84C6-10CE4F4A5273} = {0E1855BF-5771-45F9-BB46-5D075DE99313} - {22F91487-772C-4DA4-9BAC-D6BB44B10D6C} = {0E1855BF-5771-45F9-BB46-5D075DE99313} - {61B1A285-7B3C-4B60-8001-0757E6A88EA9} = {D12C599A-23A2-4139-96A3-8188BC6135E2} - {63AE28E6-F4E0-40E1-AAAC-F1C11111CFE8} = {D12C599A-23A2-4139-96A3-8188BC6135E2} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {A916E577-C16A-4BBF-A3BE-9491C0F5B147} - EndGlobalSection -EndGlobal diff --git a/tasks/mikhailov-ys/Lab_4/pic/1.PNG b/tasks/mikhailov-ys/Lab_4/pic/1.PNG deleted file mode 100644 index 7754775..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/1.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/10.PNG b/tasks/mikhailov-ys/Lab_4/pic/10.PNG deleted file mode 100644 index aa8f520..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/10.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/11.PNG b/tasks/mikhailov-ys/Lab_4/pic/11.PNG deleted file mode 100644 index 974ae24..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/11.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/12.PNG b/tasks/mikhailov-ys/Lab_4/pic/12.PNG deleted file mode 100644 index 475f558..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/12.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/13.PNG b/tasks/mikhailov-ys/Lab_4/pic/13.PNG deleted file mode 100644 index 95ccba8..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/13.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/14.PNG b/tasks/mikhailov-ys/Lab_4/pic/14.PNG deleted file mode 100644 index b387920..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/14.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/15.PNG b/tasks/mikhailov-ys/Lab_4/pic/15.PNG deleted file mode 100644 index b182631..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/15.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/2.PNG b/tasks/mikhailov-ys/Lab_4/pic/2.PNG deleted file mode 100644 index 083d8ef..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/2.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/3.PNG b/tasks/mikhailov-ys/Lab_4/pic/3.PNG deleted file mode 100644 index 7e94535..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/3.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/4.PNG b/tasks/mikhailov-ys/Lab_4/pic/4.PNG deleted file mode 100644 index 65be928..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/4.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/5.PNG b/tasks/mikhailov-ys/Lab_4/pic/5.PNG deleted file mode 100644 index 503be48..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/5.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/6.PNG b/tasks/mikhailov-ys/Lab_4/pic/6.PNG deleted file mode 100644 index 223cb74..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/6.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/7.PNG b/tasks/mikhailov-ys/Lab_4/pic/7.PNG deleted file mode 100644 index 846f7c9..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/7.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/8.PNG b/tasks/mikhailov-ys/Lab_4/pic/8.PNG deleted file mode 100644 index cd3141d..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/8.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/pic/9.PNG b/tasks/mikhailov-ys/Lab_4/pic/9.PNG deleted file mode 100644 index 7fe4e90..0000000 Binary files a/tasks/mikhailov-ys/Lab_4/pic/9.PNG and /dev/null differ diff --git a/tasks/mikhailov-ys/Lab_4/tut1/Receive/Receive.cs b/tasks/mikhailov-ys/Lab_4/tut1/Receive/Receive.cs deleted file mode 100644 index 49b1f18..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut1/Receive/Receive.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.Text; -using RabbitMQ.Client; -using RabbitMQ.Client.Events; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.QueueDeclare(queue: "hello", - durable: false, - exclusive: false, - autoDelete: false, - arguments: null); - -Console.WriteLine(" [*] Waiting for messages."); - -var consumer = new EventingBasicConsumer(channel); -consumer.Received += (model, ea) => -{ - var body = ea.Body.ToArray(); - var message = Encoding.UTF8.GetString(body); - Console.WriteLine($" [x] Received {message}"); -}; -channel.BasicConsume(queue: "hello", - autoAck: true, - consumer: consumer); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); \ No newline at end of file diff --git a/tasks/mikhailov-ys/Lab_4/tut1/Receive/Receive.csproj b/tasks/mikhailov-ys/Lab_4/tut1/Receive/Receive.csproj deleted file mode 100644 index cf2ece3..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut1/Receive/Receive.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - - - - - diff --git a/tasks/mikhailov-ys/Lab_4/tut1/Send/Send.cs b/tasks/mikhailov-ys/Lab_4/tut1/Send/Send.cs deleted file mode 100644 index 4e0f5c2..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut1/Send/Send.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Text; -using RabbitMQ.Client; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.QueueDeclare(queue: "hello", - durable: false, - exclusive: false, - autoDelete: false, - arguments: null); - -const string message = "Hello World!"; -var body = Encoding.UTF8.GetBytes(message); - -channel.BasicPublish(exchange: string.Empty, - routingKey: "hello", - basicProperties: null, - body: body); -Console.WriteLine($" [x] Sent {message}"); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); \ No newline at end of file diff --git a/tasks/mikhailov-ys/Lab_4/tut1/Send/Send.csproj b/tasks/mikhailov-ys/Lab_4/tut1/Send/Send.csproj deleted file mode 100644 index cf2ece3..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut1/Send/Send.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - - - - - diff --git a/tasks/mikhailov-ys/Lab_4/tut2/Task/Task.cs b/tasks/mikhailov-ys/Lab_4/tut2/Task/Task.cs deleted file mode 100644 index 301c4ad..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut2/Task/Task.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Text; -using RabbitMQ.Client; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.QueueDeclare(queue: "task_queue", - durable: true, - exclusive: false, - autoDelete: false, - arguments: null); - -var message = GetMessage(args); -var body = Encoding.UTF8.GetBytes(message); - -var properties = channel.CreateBasicProperties(); -properties.Persistent = true; - -channel.BasicPublish(exchange: string.Empty, - routingKey: "task_queue", - basicProperties: properties, - body: body); -Console.WriteLine($" [x] Sent {message}"); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); - -static string GetMessage(string[] args) -{ - return ((args.Length > 0) ? string.Join(" ", args) : "Урок 2"); -} \ No newline at end of file diff --git a/tasks/mikhailov-ys/Lab_4/tut2/Task/Task.csproj b/tasks/mikhailov-ys/Lab_4/tut2/Task/Task.csproj deleted file mode 100644 index cf2ece3..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut2/Task/Task.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - - - - - diff --git a/tasks/mikhailov-ys/Lab_4/tut2/Worker/Worker.cs b/tasks/mikhailov-ys/Lab_4/tut2/Worker/Worker.cs deleted file mode 100644 index a488f1d..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut2/Worker/Worker.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System.Text; -using RabbitMQ.Client; -using RabbitMQ.Client.Events; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.QueueDeclare(queue: "task_queue", - durable: true, - exclusive: false, - autoDelete: false, - arguments: null); - -channel.BasicQos(prefetchSize: 0, prefetchCount: 1, global: false); - -Console.WriteLine(" [*] Waiting for messages."); - -var consumer = new EventingBasicConsumer(channel); -consumer.Received += (model, ea) => -{ - byte[] body = ea.Body.ToArray(); - var message = Encoding.UTF8.GetString(body); - Console.WriteLine($" [x] Received {message}"); - - int dots = message.Split('.').Length - 1; - Thread.Sleep(dots * 1000); - - Console.WriteLine(" [x] Done"); - - channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); -}; -channel.BasicConsume(queue: "task_queue", - autoAck: false, - consumer: consumer); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); \ No newline at end of file diff --git a/tasks/mikhailov-ys/Lab_4/tut2/Worker/Worker.csproj b/tasks/mikhailov-ys/Lab_4/tut2/Worker/Worker.csproj deleted file mode 100644 index cf2ece3..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut2/Worker/Worker.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - - - - - diff --git a/tasks/mikhailov-ys/Lab_4/tut3/EmitLogs/EmitLogs.cs b/tasks/mikhailov-ys/Lab_4/tut3/EmitLogs/EmitLogs.cs deleted file mode 100644 index 7fae193..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut3/EmitLogs/EmitLogs.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Text; -using RabbitMQ.Client; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.ExchangeDeclare(exchange: "logs", type: ExchangeType.Fanout); - -var message = GetMessage(args); -var body = Encoding.UTF8.GetBytes(message); -channel.BasicPublish(exchange: "logs", - routingKey: string.Empty, - basicProperties: null, - body: body); -Console.WriteLine($" [x] Sent {message}"); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); - -static string GetMessage(string[] args) -{ - return ((args.Length > 0) ? string.Join(" ", args) : "info: третий туториал"); -} \ No newline at end of file diff --git a/tasks/mikhailov-ys/Lab_4/tut3/EmitLogs/EmitLogs.csproj b/tasks/mikhailov-ys/Lab_4/tut3/EmitLogs/EmitLogs.csproj deleted file mode 100644 index c0ede4a..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut3/EmitLogs/EmitLogs.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - net6.0 - Exe - enable - enable - - - - - - - \ No newline at end of file diff --git a/tasks/mikhailov-ys/Lab_4/tut3/ReceiveLogs/ReceiveLogs.cs b/tasks/mikhailov-ys/Lab_4/tut3/ReceiveLogs/ReceiveLogs.cs deleted file mode 100644 index 5f6ae6d..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut3/ReceiveLogs/ReceiveLogs.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Text; -using RabbitMQ.Client; -using RabbitMQ.Client.Events; - -var factory = new ConnectionFactory { HostName = "localhost" }; -using var connection = factory.CreateConnection(); -using var channel = connection.CreateModel(); - -channel.ExchangeDeclare(exchange: "logs", type: ExchangeType.Fanout); - -// declare a server-named queue -var queueName = channel.QueueDeclare().QueueName; -channel.QueueBind(queue: queueName, - exchange: "logs", - routingKey: string.Empty); - -Console.WriteLine(" [*] Waiting for logs."); - -var consumer = new EventingBasicConsumer(channel); -consumer.Received += (model, ea) => -{ - byte[] body = ea.Body.ToArray(); - var message = Encoding.UTF8.GetString(body); - Console.WriteLine($" [x] {message}"); -}; -channel.BasicConsume(queue: queueName, - autoAck: true, - consumer: consumer); - -Console.WriteLine(" Press [enter] to exit."); -Console.ReadLine(); \ No newline at end of file diff --git a/tasks/mikhailov-ys/Lab_4/tut3/ReceiveLogs/ReceiveLogs.csproj b/tasks/mikhailov-ys/Lab_4/tut3/ReceiveLogs/ReceiveLogs.csproj deleted file mode 100644 index 095c9d8..0000000 --- a/tasks/mikhailov-ys/Lab_4/tut3/ReceiveLogs/ReceiveLogs.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - net6.0 - Exe - enable - enable - - - - - - - \ No newline at end of file