0 / 0 / 0
Регистрация: 12.04.2011
Сообщений: 287
|
|
1 | |
Выполнение срипта в определенное время.25.04.2012, 11:21. Показов 2131. Ответов 12
Метки нет (Все метки)
Доброе утро.
Есть задача : Нужно зашелдурить такую процедуру - есть скрипт (ASP+JS), скорее даже пару функций, которые выполняют синхронизацию одной БД с другой. Их нужно запускать каждый день. Что посоветуете для реализации этой цели ? В какую сторону смотреть ? Может есть смысл использовать nnCron ? Была идея простого запуска по рассписанию строки типа : iexplore synch.asp. Но, нужно оуна закрывать - после синхронизации. Ставить таймер или что-то еще ... Нужны Ваши советы господа гуру.
0
|
25.04.2012, 11:21 | |
Ответы с готовыми решениями:
12
Отсчитывать определенное время с момента захода посетителя на сайт Выполнение задания в определенное время Выполнение батника в определенное время Выполнение задачи в определенное время |
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
25.04.2012, 11:56 | 2 |
ASP страницы запускать по расписанию не очень надежно из-за наличия тайаута на выполнение скрипта. Лучше взять код из ASP файла, положить его в файл с расширением js (для JavaScript) или vbs (для VBScript) и запускать команду cscript имя_файла используя стандартный Task Scheduler. Я обычно создаю bat файл примерно такого содержания
@echo off cscript имя_файла //nologo и уже добавляю в список scheduled tasks. Так проще в будущем вносить изменения.
0
|
0 / 0 / 0
Регистрация: 12.04.2011
Сообщений: 287
|
|
26.04.2012, 06:39 [ТС] | 3 |
Хм ... Василий, там основную работу выполняет ASP. JS там совсем мало ...
Как же перевести в JS, скажем вот это : Код
<% function admsynchronizeitems() sqlqb = "....." sqlms = "....." rec.PageSize = 10 rec2.PageSize = 10 rec.CursorType=1 rec2.CursorType=1 rec.CursorLocation=3 rec2.CursorLocation=3 rec.Open sqlqb,conn,3,3,1 rec2.Open sqlms,conn2,3,3,1 If rec.PageCount=0 Then Response.Write "...." If rec2.PageCount=0 Then Response.Write "..." Do While Not rec.EOF rec2.MoveFirst rec2.Find "ListID='"&rec("ListID").value&"'" If(rec2.BOF or rec2.EOF) Then If Trim(rec("IsActive").value) Then bol="1" Else bol="0" End If If IsNull(rec("FullName").value) Then fullname="" Else fullname = rec("FullName").value End If ...... sql="INSERT INTO ...." conn2.Execute(sql) Else ..... sql="UPDATE ...." conn2.Execute(sql) End If .......... end function %>
0
|
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
|
|
26.04.2012, 10:20 | 4 |
1. Убираем %>, <%
2. Заменяем Response.Write на WScript.Echo для вывода в окно, либо на вывод в лог файл посредством fso Все остальное вполне будет функционировать как есть. Да, еще одно, если используется Server.CreateObject, заменяем на CreateObject.
0
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
26.04.2012, 10:20 | 5 |
В данном пример достаточно заменить Response.Write на WScript.Echo и все. Если где-то еще встречается вызов Server.CreateObject, то замени его WScript.CreateObject.
В состав Windows входит компонент под названием Windows Script Host. Это комонент включает в себя движки VBScript и JScript, которые затем используются MSIE, IIS/ASP и для выполнения скриптов из командной строки. То есть во всех этих программаъх используется один и тот же движок, отличается только контекст исполнения. К примеру, ASP скриптам доступны объекты Request, Response, Session, которые не будут работать в консольном скрипте. Но обычно им можно найти замену. Далее. Большая часть возможностей VBScript/JScript реализуется внешними объектами - например, ADO. Эти объекты не привязаны к какой-то конкретной технологии. Скажем, ASP. Они универсальные. Соответственно у тебя не будет никаких проблем с их использованием.
0
|
0 / 0 / 0
Регистрация: 12.04.2011
Сообщений: 287
|
|
29.04.2012, 17:35 [ТС] | 6 |
Пасиб.
Про WSH знал, но особо его не юзал. А вот про то что WSH включает в себя движки VBS и Js - не знал. Есть ли русскоязычные ссылки про WSH, которые по Вашему мнению достойны изучению ? Если таковых не имеется, можно и на english`е. Хотелось бы изучить WSH - раз он такой полезный. Спасибо.
0
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
29.04.2012, 17:55 | 7 |
Я всегда MSDN использовал - http://msdn.microsoft.com/libr... frame=true
0
|
0 / 0 / 0
Регистрация: 12.04.2011
Сообщений: 287
|
|
01.05.2012, 04:48 [ТС] | 8 |
Доброго дня.
Очень мне нравятся твои ответы Василий. Спасибо.
0
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
01.05.2012, 11:07 | 9 |
Пожалуйста
0
|
0 / 0 / 0
Регистрация: 12.04.2011
Сообщений: 287
|
|
01.05.2012, 12:13 [ТС] | 10 |
Hi bazile,
>К примеру, ASP скриптам доступны объекты Request, Response, Session, которые не >будут работать в консольном скрипте. Но обычно им можно найти замену. >Далее. Большая часть возможностей VBScript/JScript реализуется внешними >объектами - например, ADO. Эти объекты не привязаны к какой-то конкретной >технологии. Скажем, ASP. Они универсальные. Соответственно у тебя не будет >никаких проблем с их использованием. Можно подробнее с этого места - хотя на моем примере. Что-то я покопалсяв msdn и ничего там нормального не нашел ... Спасибо.
0
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
01.05.2012, 12:20 | 11 |
1. Создаешь файл test.js
2. Копируешь в него текст из ASP файла. 3. Удаляешь весь html код, оставляя только блоки внутри <% %>. (Сами маркеры <% %> тоже не нужны) 4. Заменяшь Response.Write на WScript.Echo, Server.CreateObject на WScript.CreateObject 5. Запускаешь полученный файл из командной строки cscript test.js
0
|
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
|
|
01.05.2012, 13:27 | 12 |
Ошибся немного. Не js файл, а vbs. У тебя же код на VBScript.
0
|
0 / 0 / 0
Регистрация: 12.04.2011
Сообщений: 287
|
|
01.05.2012, 19:03 [ТС] | 13 |
Ок. Спасибо. Буду пробовать. Думал все будет сложнее.
0
|
01.05.2012, 19:03 | |
01.05.2012, 19:03 | |
Помогаю со студенческими работами здесь
13
Выполнение функции в определенное системное время Выполнение PHP скрипта в определенное время Выполнение действий по расписанию, в определенное время Выполнение метода в определенное время суток Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации
В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
|
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
|
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
|
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
|
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
|
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
|
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
|
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
|
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
|
Какая максимальная длина адреса (URL) в различных браузерах и стандартах
bytestream 21.01.2025
В современном мире интернет-технологий URL-адреса (Uniform Resource Locator) играют фундаментальную роль в функционировании веб-пространства. Эти уникальные идентификаторы ресурсов стали неотъемлемой. . .
|
Как сбросить локальный репозиторий до состояния удалённого репозитория Git
bytestream 21.01.2025
При разработке программного обеспечения с использованием системы контроля версий Git разработчики часто сталкиваются с необходимостью синхронизации локального и удаленного репозиториев. Данная задача. . .
|
Как запретить подсветку выделенного текста с помощью CSS
bytestream 20.01.2025
Подсветка текста при выделении является стандартным поведением браузера, которое не всегда соответствует дизайнерским решениям или функциональным требованиям веб-приложения.
Выделение текста может. . .
|