Benim kurulumu:Çoklu toplu dosyaları (rb dosyaları yürütmek olan) sonuncusu kapatmak reddediyor ve fikrimi kaybetmek üzereyim
My Ana toplu dosya daha sonra yedi çocuk bat dosyaları çalıştırır bildiren bir e-posta gönderir onlar tamamladık:
START "MyProcess1" C:/2oh/100a.bat
PING 127.0.0.1 -n 5 || PING ::1 -n 5
START "MyProcess2" C:/2oh/100b.bat
PING 127.0.0.1 -n 5 || PING ::1 -n 5
START "MyProcess3" C:/2oh/101a.bat
PING 127.0.0.1 -n 5 || PING ::1 -n 5
START "MyProcess4" C:/2oh/101b.bat
PING 127.0.0.1 -n 5 || PING ::1 -n 5
START "MyProcess5" C:/2oh/102.bat
PING 127.0.0.1 -n 5 || PING ::1 -n 5
START "MyProcess6" C:/2oh/103.bat
PING 127.0.0.1 -n 5 || PING ::1 -n 5
START "MyProcess7" C:/2oh/104.bat
:loop
timeout /t 1 >nul
tasklist /v|find "MyProcess">nul && goto :loop
echo all tasks have finished..
SendEmail -f [email protected]
çocuk bat dosyası şöyle bir yakut senaryoyu yürütmek için basit çağrıdır.
C:/2oh/104.rb
exit
yakut Senaryo çok gibidir: Yani esasen
require_relative "./helper"
require_relative "./tests"
require 'logger'
class Tests < Test::Unit::TestCase
self.test_order = :defined
$stdout.reopen("log.txt", "a")
def test_average_first_run
puts "First Run"
test_first_run
end
- Bu yedi yakut komut ardından üst toplu iş dosyası o günlüğünü dışarı e-posta, yani bir tek günlük dosyasına içeriklerini yazıyoruz. Hangi sebepten olursa olsun, her zaman toplu iş dosyalarından birine yapışmış gibi görünüyor. Bitti, yürütmek için başka bir şey yok ama bu ekran görüntüsünde görebileceğiniz gibi yarasa dosyası kapanmıyor, sadece ekrana çıkış yazıyor ama komutu çalıştırmıyor. Böylece kapanmayacak, yani ana toplu iş dosyası kapanmıyor, dolayısıyla e-postayla gönderilen günlük yok. Toplu iş dosyalarında veya ruby betiklerinde kesinlikle bir fark yok, hepsi aynı çocuklar. Bu yüzden hayatımın sebebi, toplu iş dosyasının neden çıkmayacağını anlayamıyorum. Bu yarasa dosyasını bağımsız olarak çalıştırırsam iyi çalışır.
Neden her seferinde bir yakut dosyasını çalıştırmak için bir bat dosyası gerekiyor? Neden .rb dosyalarını sadece bir .bat? – JLB
Ruby dosyalarını doğrudan ana yarasa dosyasından yürüttüğümde, tüm ruby komut dosyasının günlüğü e-posta göndermeden önce tamamlanmasını beklemez. – Jen
.rb dosyasında "start/w" yazarsanız, geri dönmeden önce bitene kadar beklemeniz gerekir. – JLB