|
Объект ЗаписьТекста открывает файл для записи монопольно. Есть альтернатива? | ☑ | ||
---|---|---|---|---|
0
i_rodionov
16.01.17
✎
21:20
|
Нужно писать текстовый лог файл, в который несколько сеансов одновременно могут дописывать строки. Возможно, подскажете, как это сделать?
|
|||
1
Кирпич
16.01.17
✎
21:36
|
открывать файл пока не откроется, сделать запись и закрыть, чтобы другие могли записать.
|
|||
2
Кирпич
16.01.17
✎
21:46
|
ну или в какую нибудь БД писать через ADO, например.
|
|||
3
i_rodionov
16.01.17
✎
21:46
|
(1) открывать пока не откроется - не катит. Это пожирание ресурса. Воркараунд пока один - писать параллельные логи для каждого сеанса. Хотелось бы слить в один.
|
|||
4
i_rodionov
16.01.17
✎
21:47
|
(2) Да не надо писать, можно было бы в регистр сведений складывать. Но надо текстовый лог
|
|||
5
Кирпич
16.01.17
✎
21:48
|
(4) ну пиши в регистр сведений, потом сливай в текст
|
|||
6
i_rodionov
16.01.17
✎
21:50
|
(5) Вариант нормальный, но тогда отпадает нужда в текстовом файле вообще, лучше сделать отчет по регистру, что ли
|
|||
7
Кирпич
16.01.17
✎
21:50
|
(3) ну смотря как и сколько писать
|
|||
8
Кирпич
16.01.17
✎
21:51
|
(6) так тебе отчет надо или в файл писать? :)
|
|||
9
i_rodionov
16.01.17
✎
21:53
|
(8) Изначально была идея писать не в базу, а в текст, потому что это лог общения с веб ресурсом. Туда идет отправка остатков и цен, оттуда - результат работы контентщиков. Это веб магаз
|
|||
10
Torquader
16.01.17
✎
21:53
|
Отдельный LOG для каждого процесса/потока - самый правильный подход, так как иначе возможны ситуации, когда несколько потоков одновременно что-то записали и перезатёрли друг друга.
|
|||
11
i_rodionov
16.01.17
✎
21:54
|
(10) думал об этом. Согласен.
|
|||
12
Torquader
16.01.17
✎
21:59
|
(11) Просто, можно сделать один основной файл, где процессы/потоки регистрируются и пишут, в какие файлы они потом будут писать результаты своей работы, чтобы было понятно, кто и куда писал, а далее - каждый пишет в своё место - иначе - будут блокировки.
Если блокировки не страшны, то регистр сведений как раз подходит для того, чтобы все писали туда сразу. Также, не стоит забывать, что у 1С есть журнал регистрации. |
|||
13
i_rodionov
16.01.17
✎
22:01
|
(12) для журнала регистрации придется писать периодическую очистку, потому что будет пухнуть быстро.
Пока сделал для каждого сеанса разные логи. |
|||
14
Torquader
17.01.17
✎
00:02
|
(13) Их и чистить будет проще, так как можно будет удалять/архивировать те, которые уже не пишутся.
|
|||
15
i_rodionov
17.01.17
✎
00:04
|
(14) Написал некий гибрид. В журнал складываю только результат от веба, отличный от 200. В текстовые файлы добавил имя учетки 1С, чтобы были разные для сеансов. Получился компромисс.
|
|||
16
i_rodionov
17.01.17
✎
00:05
|
(14) вернее в имя текстового файла добавил имя учетки
|
|||
17
i_rodionov
17.01.17
✎
00:05
|
(14) Все фоновые задания работают не анонимно, поэтому будет работать с разными логами.
|
|||
18
i_rodionov
17.01.17
✎
00:10
|
(14) Чтобы все было вообще надежно, надо узнавать ID сеанса. Подскажете?
|
|||
19
i_rodionov
17.01.17
✎
00:12
|
(14) НомерСоединения() должно помочь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |