PDA

View Full Version : سوال: مدیریت زمان برای delay در scripting



khadem1386
چهارشنبه 06 آبان 1388, 13:45 عصر
سلام:

در زبان های vb یا java اسکریپت آیا کامندی هست که بدون اینکه cpu را درگیر کنه یک delay بوجود بیاره

برای بوجود آورد یک delay می توان از دستور زیر استفاده کرد:



<%
for t= 1 to 10000/0000/000/0000
next
%>
ولی در این حالت cpu دچار بدبختی ناجوری مشه
CPU سرور = :عصبانی++:

اما آیا ابزار بهتری برای توقف وجود داره؟

مرسی

kashaneh
چهارشنبه 06 آبان 1388, 14:29 عصر
دوست عزیز برای VbScript به لینک های زیر مراجعه کنید :

http://www.intranetjournal.com/ix/msg/44446.html
http://forums.vandyke.com/showthread.php?t=1553 (http://forums.vandyke.com/showthread.php?t=1553)

و برای JavaScript به لینک های زیر:

http://www.sean.co.uk/a/webdesign/javascriptdelay.shtm
http://www.howtocreate.co.uk/tutorials/javascript/timers

موفق باشی

khadem1386
یک شنبه 10 آبان 1388, 09:59 صبح
ضمن عرض تشکر از آقای کاشانه بابت لینک های مفیدشان:

بعد از بررسی لینک های فوق:
برخی از راه حل ها در نهایت از لوپ تاخیری استفاده کرده بودند. مثل while یا do یا . . . که توی زبان asp یک فشار بسیاری بر سرور وارد می کنه.

اما ظاهرا این تنها راه حل نیست و در همین لینکها روشهایی وجود داشت که مثلا در vb با استفاده از دستور crt.sleep 1000 می شه اسکریپت را متوقف کرد. و همچنین در جاوا با استفاده از
setTimeout(referenceToFunction,timeInMilliseconds) ;

سوالی که باقی می مانه اینکه این دو کامند در asp هم کاربرد داره دیگه
چون ازاول من منظور vb و جاوا در داخل asp مظورم بود.

با تشکر

khadem1386
یک شنبه 10 آبان 1388, 10:04 صبح
سوال دیگری که داشتم آیا سرور ها اجازه می دهند تا از Windows task scheduler برای راه اندازی متناوب یک web page Asp در داخل server استفاده کنیم؟ که اگر بشه این بهترین گزینه بحساب می یاد.

هواشناس
یک شنبه 10 آبان 1388, 10:41 صبح
بنام خدا
در مورد سرور من خودم يه مدت دنبال schedule بودم آخر سر به اينجا رسيدم كه با مسوول هاست بايد صحبت كنيد برخي شركتها موقع خريداري هاست schedule رو نيز جز گزينه ها و ويژگيهاي هاست قرار دادند ولي نسبت به اون هشدار ميدهند در مورد ايران هاست كه ساپورت كننده همين سايت و سايتهاي خود من هست نيز با خود شركت بايد به توافق رسيد

موفق باشيد-

kashaneh
یک شنبه 10 آبان 1388, 23:28 عصر
دوست عزیز khadem1386 (http://barnamenevis.org/forum/member.php?u=75166) ... تمام لینکهای مرتبط با سوال شما بر اساس استفاده از vbscript و javascript هست که قاعدتا (به احتمال فراوان!) باید در asp کلاسیک پاسخگو باشند!... خودم تست نکردم اما اگر زحمت این کارو بکشید و نتیجه رو اینجا بزارین فکر کنم تحقیق خوبی باشه...
در مورد سوال دوم شما هم هیچ اطلاعی در این زمینه ندارم... اگر دوستان اطلاعات تکمیلی و مناسب در این مورد دارن لطف کنن در همین تاپیک یا در تاپیک جداگانه ای به بحث بزارن تا استفاده کنیم...به امید موفقیت

khadem1386
شنبه 30 آبان 1388, 20:39 عصر
با سلام:
من این کد را پیدا کردم که در واقع یک کلک هست که نمی دونم چقدر سرور را اذیت می کن
از timeout که در sql هست استفاده می کنه یک کانکشن دورغی و بی دلیل درست می کنه
در هر حال کار می کنه ولی مهم اینکه سرور را چقدر اذیت می کنه:


Instructions
Simply copy this code and change the sql server connection string to connect to your database.

Set the number of hours, minutes, and seconds you want the page to sleep.


'<!-- Written by Lee A. Shurie, le@vgrp.com -->
'<!-- This script uses SQL Server to sleep or pause your Classic ASP page -->

'<!-- Output the page without buffering -->

Response.Buffer = false

'<!-- Setup the time to sleep -->

varHours = "00" 'Up to 99 hours
varMinutes = "00" 'Up to 59 minutes
varSeconds = "10" 'Up to 59 seconds

varTimeout = (clng(varHours) * 3600) + (clng(varMinutes) * 60) + clng(varSeconds) + 5

'<!-- Open the database connection -->

Set c = CreateObject("ADODB.Connection")
c.Open "driver={SQL Server};server=myDatabaseServer;database=myDatabas e","myLogin","myPassword"

'<!-- make sure timeout doesn't expire -->

c.commandTimeout = varTimeout

'<!-- Execute the SQL statement which does the work -->

Response.Write "<strong>This page will sleep for " & cInt(varHours) & " hours, " & cInt(varMinutes) & " minutes, " & cInt(varSeconds) & " seconds.</strong><br> <br>" & vbCRLF
Response.Write "> Starting to sleep at: " & Now() & "<br>" & vbCRLF
Response.Write "> I am now sleeping...<br> <br>" & vbCRLF

sql = "WAITFOR DELAY '" & right(clng(varHours), 2) & ":" & right(clng(varMinutes), 2) & ":" & right(clng(varSeconds), 2) & "'"
c.Execute sql,,129

Response.Write "> Waking up at: " & Now() & "<br>" & vbCRLF
Response.Write "> I am now awake." & vbCRLF

'<!-- Cleanup -->

c.close
Set c = Nothing


نظر شما دوستان چیه؟

مثلا اومدیم و من صد تا یوزر هم زمان داشتم اونوقت چی می شه

این کامند

sql = "WAITFOR DELAY '" & right(clng(varHours), 2) & ":" & right(clng(varMinutes), 2) & ":" & right(clng(varSeconds), 2) & "'"
c.Execute sql,,129



چقدر sql را و cpu را اذیت می کنه؟