Есть рабочий шаблон (пересчет данных с локальных файлов), надо сделать многопоток

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8
Здравствуйте. Есть шаблон уже рабочий. Суть шаблона в том, что он пересчитывает просмотры с 2х файлов. В первом файле есть данные ссылканавидео:количествопросмотров. Во втором файле такой же формат, только количество просмотров большее (данные собранные через 2 дня). Сделано в шаблоне через split и переменные и javascript, который вычитает одну переменную из другой и кладет в файл вместе с урлом. Смысл в подсчете количества просмотров за промежуток времени между 2 парсингами (первый и второй парсинг).
Работает отлично. Но, мне необходимо сделать работу с этими 2мя файлами в многопоток, так как данных много. Пробовал по всякому, что то не так делаю.
Нужна небольшая помощь, чтобы сделать работу с этими 2мя файлами в многопоток.
Напишите в личку сумму за работу и телегу вашу.
Спасибо.
 

Alexbrush

Client
Регистрация
20.11.2020
Сообщения
164
Благодарностей
143
Баллы
43
А что уже пробовал? В самом проекте в проджект мейкер есть окончание проекта или циклично всё (ошибка новичков в попытке сделать многопоток)?

Ну и чтобы понять что не так, в идеале увидеть бы сам проект, пусть и в миниатюре с левыми данными.
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Здравствуйте. Есть шаблон уже рабочий. Суть шаблона в том, что он пересчитывает просмотры с 2х файлов. В первом файле есть данные ссылканавидео:количествопросмотров. Во втором файле такой же формат, только количество просмотров большее (данные собранные через 2 дня). Сделано в шаблоне через split и переменные и javascript, который вычитает одну переменную из другой и кладет в файл вместе с урлом. Смысл в подсчете количества просмотров за промежуток времени между 2 парсингами (первый и второй парсинг).
Работает отлично. Но, мне необходимо сделать работу с этими 2мя файлами в многопоток, так как данных много. Пробовал по всякому, что то не так делаю.
Нужна небольшая помощь, чтобы сделать работу с этими 2мя файлами в многопоток.
Напишите в личку сумму за работу и телегу вашу.
Спасибо.
Не важно, сколько данных - всеравно работа с файлом производится в 1 поток.
Если задача состоит как-то ускорить процесс обработки этих файлов, тогда:
Добавьте сюда в тему примеры двух файлов в текстовом виде, хотя бы с 10-20 строчками в каждом в ответ на это сообщение (чтобы мне уведомленька пришла).
Напишу решение бесплатно :-)
 

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8
А что уже пробовал? В самом проекте в проджект мейкер есть окончание проекта или циклично всё (ошибка новичков в попытке сделать многопоток)?

Ну и чтобы понять что не так, в идеале увидеть бы сам проект, пусть и в миниатюре с левыми данными.
Пробовал убирать цикличность. Пробовал еще какие то изменения, которые на форуме прочитал. Не получается. Я вообще новичок. Я обычно заказываю шаблоны, мне бы лучше чтобы сделали. Может сделаете за небольшую сумму?
 

Вложения

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8
Не важно, сколько данных - всеравно работа с файлом производится в 1 поток.
Если задача состоит как-то ускорить процесс обработки этих файлов, тогда:
Добавьте сюда в тему примеры двух файлов в текстовом виде, хотя бы с 10-20 строчками в каждом в ответ на это сообщение (чтобы мне уведомленька пришла).
Напишу решение бесплатно :-)
Спасибо, но в тему выкладывать такие файлы не хочу.
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Спасибо, но в тему выкладывать такие файлы не хочу.
Как считаете нужным.
Без каких-то демо-данных, к сожалению, не смогу предсказать как конкретно выглядят входящие и должны выглядеть исходящие данные.
 

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8
Как считаете нужным.
Без каких-то демо-данных, к сожалению, не смогу предсказать как конкретно выглядят входящие и должны выглядеть исходящие данные.
Примерно вот так. В check_view.txt линк:просмотры с первого парсинга просмотров. В check_view_new.txt со второго парсинга просмотров. Надо на выходе иметь линк:разница в просмотрах.
 

Вложения

  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Примерно вот так. В check_view.txt линк:просмотры с первого парсинга просмотров. В check_view_new.txt со второго парсинга просмотров. Надо на выходе иметь линк:разница в просмотрах.
C#:
string path1 = @"C:\Users\User\Desktop\forum_txt\check_view_new.txt"; // Файл до
string path2 = @"C:\Users\User\Desktop\forum_txt\check_view.txt"; // Файл после
string path_out= @"C:\Users\User\Desktop\forum_txt\out.txt"; // Результат

lock(SyncObjects.ListSyncer) { // если вдруг файлы дёргаются несколькими потоками с помощью этого кода
var dic1 = File.ReadAllLines(path1).Select(x=>x.Split('=')[1].Split(':')).ToDictionary(x => x[0], x => int.Parse(x[1]));
var dic2 = File.ReadAllLines(path2).Select(x=>x.Split('=')[1].Split(':')).ToDictionary(x => x[0], x => int.Parse(x[1]));

var dic3 = new Dictionary<string, int>();

foreach(var kwp in dic1){
    string name = kwp.Key;
    int x_do =kwp.Value;
    int x_posle = x_do;
    if(dic2.ContainsKey(kwp.Key))  x_posle = dic2[kwp.Key];
    dic3.Add(name, x_posle-x_do);
}

File.WriteAllLines(path_out, dic3.Select(x=> string.Format(@"https://www.youtube.com/watch?v={0}",string.Join(":", new[]{x.Key, x.Value.ToString()}))).ToArray());
}
95225
 
Последнее редактирование:
  • Спасибо
Реакции: Alexbrush

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Решение добавил в сообщение выше.
 
  • Спасибо
Реакции: Alexbrush, sek007 и Shogo

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8
Решение добавил в сообщение выше.
Спасибо!
Надо наверное засунуть это в C# кубик? Вопрос еще один, мне надо пересчитывать такие списки для около 10 разных сайтов. Пробовал вставлять ссылку, толку нет, не работает. А можно код сделать универсальным, чтобы можно было просмотры и ссылки с разных сайтов пересчитывать? Чтобы оно учитывало полностью ссылку, а не только часть с id видео. А то под каждый сайт придется переделывать, а я вообще не в курсе как. И куда вам можно перевести какую нибудь сумму за помощь? Спасибо.
 

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8
Разобрался, для ютюб ссылок работает. Как сделать на другие 10 сайтов не понимаю. Мне бы универсальный код.
 

che100

Client
Регистрация
18.04.2017
Сообщения
808
Благодарностей
503
Баллы
63

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8
Решение добавил в сообщение выше.
А еще при нахождении дубля выдало ошибку:
Выполнение действия CSharp OwnCode. Элемент с тем же ключом уже был добавлен.

И ничего не записало в файл. Этого можно как то избежать?
 

sek007

Пользователь
Регистрация
23.06.2014
Сообщения
31
Благодарностей
8
Баллы
8
Нашел исполнителя. Всем спасибо.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)