ນີ້ແມ່ນຄໍາສັ່ງ pegasus-exitcode ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
pegasus-exitcode - ກວດເບິ່ງໄຟລ໌ stdout/stderr ຂອງວຽກ workflow ສໍາລັບຕົວຊີ້ບອກໃດໆ.
ວ່າມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນວຽກ. ສະຄຣິບນີ້ມີຈຸດປະສົງທີ່ຈະຖືກເອີ້ນໂດຍອັດຕະໂນມັດໂດຍ
DAGMan ເປັນສະຄຣິບ POST ຂອງວຽກ.
ສະຫຼຸບສັງລວມ
pegasus-exitcode [-h][-r rv][-n][-s msg][-f msg] job.out
ລາຍລະອຽດ
pegasus-exitcode ແມ່ນຜົນປະໂຫຍດທີ່ກວດສອບ STDOUT ຂອງວຽກເພື່ອກໍານົດວ່າວຽກນັ້ນ
ລົ້ມເຫລວ, ແລະປ່ຽນຊື່ໄຟລ໌ STDOUT ແລະ STDERR ຂອງວຽກເພື່ອຮັກສາພວກມັນໃນກໍລະນີທີ່ເຮັດວຽກ.
ຖືກລອງໃຫມ່.
Pegasus ໃຊ້ pegasus-exitcode ເປັນ postscript DAGMan ສໍາລັບວຽກທີ່ສົ່ງຜ່ານ Globus GRAM.
ເຄື່ອງມືນີ້ມີຢູ່ເປັນການແກ້ໄຂບັນຫາທີ່ຮູ້ຈັກກັບ Globus ແລະ Condor-G ບ່ອນທີ່
ລະຫັດອອກຂອງວຽກ GRAM ບໍ່ໄດ້ຖືກສົ່ງຄືນ. ນີ້ແມ່ນບັນຫາເພາະວ່າ Pegasus ໃຊ້
exitcode ຂອງວຽກເພື່ອກໍານົດວ່າວຽກລົ້ມເຫລວຫຼືບໍ່.
ເພື່ອໃຫ້ໄດ້ຮັບປະມານບັນຫາ exitcode, Pegasus ສາມາດຫໍ່ວຽກ GRAM ດ້ວຍ Kickstart,
ເຊິ່ງບັນທຶກ exitcode ຂອງວຽກໃນບັນທຶກການຮ້ອງຂໍ XML, ເຊິ່ງມັນຂຽນໄປທີ່
STDOUT ຂອງວຽກ. STDOUT ຖືກໂອນຈາກໂຮດປະຕິບັດກັບຄືນໄປຫາເຈົ້າພາບສົ່ງ
ເມື່ອວຽກຢຸດ. ຫຼັງຈາກວຽກຢຸດເຊົາ, DAGMan ແລ່ນ postscript ຂອງວຽກ, ເຊິ່ງ
Pegasus ກໍານົດເປັນ pegasus-exitcode. pegasus-exitcode ເບິ່ງບັນທຶກການຮ້ອງຂໍ
ສ້າງຂຶ້ນໂດຍ kickstart ເພື່ອເບິ່ງວ່າວຽກສໍາເລັດຫຼືລົ້ມເຫລວ. ຖ້າຫາກວ່າການບັນທຶກການຮຽກຮ້ອງ
ຊີ້ໃຫ້ເຫັນເຖິງຄວາມລົ້ມເຫຼວ, ຫຼັງຈາກນັ້ນ pegasus-exitcode ສົ່ງຄືນຜົນໄດ້ຮັບທີ່ບໍ່ແມ່ນສູນ, ເຊິ່ງຊີ້ໃຫ້ເຫັນເຖິງ
DAGMan ວ່າວຽກໄດ້ລົ້ມເຫລວ. ຖ້າບັນທຶກການຮຽກຮ້ອງສະແດງໃຫ້ເຫັນວ່າວຽກເຮັດງານທໍາສໍາເລັດ.
ຫຼັງຈາກນັ້ນ pegasus-exitcode ກັບຄືນ 0, ເຊິ່ງບອກ DAGMan ວ່າວຽກສໍາເລັດ.
ນອກຈາກນັ້ນ, ວຽກເຮັດງານທໍາກຸ່ມປະຕິບັດດ້ວຍ pegasus-cluster or pegasus-mpi-cluster ຈະມີ
ບັນທຶກ [cluster-summary] ໃນ STDOUT ຂອງເຂົາເຈົ້າ. pegasus-exitcode ສາມາດກວດສອບບັນທຶກເຫຼົ່ານີ້ເພື່ອ
ກຳນົດວ່າໜ້າວຽກໃດນຶ່ງໃນວຽກທີ່ເປັນກຸ່ມບໍ່ສຳເລັດ.
pegasus-exitcode ດໍາເນີນການກວດກາຫຼາຍໆຄັ້ງ (ບາງທາງເລືອກ) ເພື່ອກໍານົດວ່າວຽກລົ້ມເຫລວ
ຫຼືບໍ່. ການກວດສອບເຫຼົ່ານີ້ລວມມີ:
1. Condor exitcode ບໍ່ແມ່ນສູນບໍ? ຖ້າເປັນດັ່ງນັ້ນ, ຫຼັງຈາກນັ້ນວຽກລົ້ມເຫລວ.
2. STDOUT ຫວ່າງບໍ່? ຖ້າມັນຫວ່າງເປົ່າ, ຫຼັງຈາກນັ້ນວຽກລົ້ມເຫລວ.
3. ມີຂໍ້ຄວາມທີ່ລົ້ມເຫລວຢູ່ໃນ STDOUT ຫຼື STDERR ບໍ? ຖ້າເປັນດັ່ງນັ້ນ, ວຽກງານລົ້ມເຫລວ.
4. ຂໍ້ຄວາມຄວາມສໍາເລັດທັງຫມົດຢູ່ໃນ STDOUT ຫຼື STDERR? ຖ້າບໍ່, ຫຼັງຈາກນັ້ນ, ວຽກງານລົ້ມເຫລວ.
5. ບັນທຶກ [cluster-summary] ຊີ້ບອກວ່າວຽກປະສົບຜົນສຳເລັດ. ຖ້າບໍ່, ຫຼັງຈາກນັ້ນ
ວຽກງານລົ້ມເຫລວ.
6. ມີບໍ tags ທີ່ມີຄ່າທີ່ບໍ່ແມ່ນສູນ? ຖ້າມີ, ວຽກງານດັ່ງກ່າວລົ້ມເຫລວ.
ໃຫ້ສັງເກດວ່າ, ຖ້ານີ້ແມ່ນວຽກທີ່ເປັນກຸ່ມ, ມັນອາດຈະມີຫຼາຍ tags, ຫນຶ່ງສໍາລັບ
ແຕ່ລະໜ້າວຽກ. ຖ້າອັນໃດອັນໜຶ່ງບໍ່ແມ່ນສູນ, ວຽກງານດັ່ງກ່າວລົ້ມເຫລວ.
7. ມີຢ່າງຫນ້ອຍຫນຶ່ງ tag ທີ່ມີຄ່າສູນ? ຕ້ອງມີຢ່າງຫນ້ອຍຫນຶ່ງ
ການຮຽກຮ້ອງທີ່ສໍາເລັດຜົນຫຼືວຽກເຮັດງານທໍາໄດ້ລົ້ມເຫຼວ.
ເພີ່ມເຕີມ, pegasus-exitcode ອະນຸຍາດໃຫ້ຜູ້ໂທລະບຸ exitcode ກັບຄືນໂດຍ Condor
ການນໍາໃຊ້ --ກັບຄືນ ການໂຕ້ຖຽງ. ນີ້ສາມາດຜ່ານໄປ pegasus-exitcode ໃນໂພສ DAGMan
script ໂດຍໃຊ້ຕົວແປ $RETURN. ຖ້າຄ່ານີ້ແມ່ນບໍ່ແມ່ນສູນ, ຫຼັງຈາກນັ້ນ pegasus-exitcode
ສົ່ງຄືນຜົນໄດ້ຮັບທີ່ບໍ່ແມ່ນສູນກ່ອນທີ່ຈະດໍາເນີນການກວດສອບອື່ນໆ. ສໍາລັບວຽກ GRAM, ມູນຄ່າຂອງ
$RETURN ຈະເປັນ 0 ສະເໝີ ໂດຍບໍ່ຄໍານຶງເຖິງວ່າວຽກຈະລົ້ມເຫລວຫຼືບໍ່.
ນອກຈາກການກວດສອບຄວາມສໍາເລັດ / ຄວາມລົ້ມເຫຼວຂອງວຽກເຮັດງານທໍາ, pegasus-exitcode ຍັງປ່ຽນຊື່
ໄຟລ໌ STDOUT ແລະ STDERR ຂອງວຽກເພື່ອວ່າຖ້າວຽກຖືກລອງໃຫມ່, STDOUT ແລະ STDERR ຂອງ
ການແລ່ນທີ່ຜ່ານມາບໍ່ໄດ້ສູນເສຍ. ມັນເຮັດສິ່ງນີ້ໂດຍການຕື່ມຕົວເລກລໍາດັບໃສ່ທ້າຍຂອງ
ໄຟລ໌. ຕົວຢ່າງ, ຖ້າໄຟລ໌ STDOUT ຖືກເອີ້ນວ່າ "job.out", ຫຼັງຈາກນັ້ນ, ຄັ້ງທໍາອິດ
ວຽກແມ່ນແລ່ນ pegasus-exitcode ຈະປ່ຽນຊື່ໄຟລ໌ "job.out.000". ຖ້າເຮັດວຽກອີກ,
ຫຼັງຈາກນັ້ນ pegasus-exitcode ເຫັນວ່າ "job.out.000" ມີຢູ່ແລ້ວ ແລະປ່ຽນຊື່ໄຟລ໌
"job.out.001". ມັນຈະສືບຕໍ່ປ່ຽນຊື່ໄຟລ໌ໂດຍການເພີ່ມຈໍານວນລໍາດັບ
ທຸກຄັ້ງທີ່ວຽກຖືກປະຕິບັດ.
OPTIONS
-h, - ຊ່ວຍ
ພິມບົດສະຫຼຸບການນຳໃຊ້ດ້ວຍທຸກຕົວເລືອກແຖວຄຳສັ່ງທີ່ມີຢູ່.
-r rv, --ກັບຄືນ rv
ກັບຄືນມູນຄ່າລາຍງານໂດຍ DAGMan. ນີ້ສາມາດຖືກລະບຸໄວ້ໃນ DAG ໂດຍໃຊ້ $RETURN
ຕົວແປ. ຖ້ານີ້ບໍ່ແມ່ນສູນ, ຫຼັງຈາກນັ້ນ pegasus-exitcode ທັນທີທັນໃດລົ້ມເຫລວກັບທີ່ບໍ່ແມ່ນສູນ
ກັບຄືນມູນຄ່າຂອງມັນເອງ. ຖ້າມັນເປັນສູນ, ຫຼັງຈາກນັ້ນພຽງແຕ່ rotate ໄຟລ໌ແລະບໍ່ໄດ້ກວດເບິ່ງສໍາລັບ
ຜົນຜະລິດ kickstart ທີ່ເຫມາະສົມ. ທາງເລືອກນີ້ສາມາດຖືກນໍາໃຊ້ໃນກໍລະນີທີ່ kickstart ບໍ່ສາມາດເຮັດໄດ້
ໃຊ້ (ເຊັ່ນ: pegasus-create-dir) ເພື່ອເປີດໃຊ້ການຫມຸນໄຟລ໌.
-n, --no-rename
ຢ່າປ່ຽນຊື່ job.out ແລະ job.err to .ອອກ.XXX ແລະ .err.XXX. ທາງເລືອກນີ້ຖືກນໍາໃຊ້
ຕົ້ນຕໍສໍາລັບການທົດສອບ.
-f msg, -- ຂໍ້ ຄວາມ ລົ້ມ ເຫຼວ msg
ຂໍ້ຄວາມລົ້ມເຫລວໃນການຊອກຫາໃນວຽກ stdout/stderr. ຖ້າຂໍ້ຄວາມນີ້ມີຢູ່ໃນ
stdout/stderr ຂອງວຽກ, ຫຼັງຈາກນັ້ນວຽກຈະຖືກພິຈາລະນາຄວາມລົ້ມເຫລວບໍ່ວ່າຈະເປັນແນວໃດ
ຜົນຜະລິດອື່ນໆທີ່ມີຢູ່. ຖ້າຂໍ້ຄວາມລົ້ມເຫລວຫຼາຍໄດ້ຖືກສະຫນອງໃຫ້, ຫຼັງຈາກນັ້ນບໍ່ມີພວກມັນສາມາດເຮັດໄດ້
ມີຢູ່ໃນຜົນຜະລິດຫຼືວຽກແມ່ນຖືວ່າເປັນຄວາມລົ້ມເຫລວ.
-s msg, --success-ຂໍ້ຄວາມ msg
ຂໍ້ຄວາມປະສົບຜົນສໍາເລັດເພື່ອຊອກຫາໃນວຽກ stdout/stderr. ຖ້າຂໍ້ຄວາມນີ້ບໍ່ມີຢູ່ໃນ
stdout/stderr ຂອງວຽກ, ຫຼັງຈາກນັ້ນວຽກຈະຖືກພິຈາລະນາຄວາມລົ້ມເຫລວບໍ່ວ່າຈະເປັນແນວໃດ
ຜົນຜະລິດອື່ນໆທີ່ມີຢູ່. ຖ້າຂໍ້ຄວາມປະສົບຜົນສໍາເລັດຫຼາຍໄດ້ຖືກສະຫນອງໃຫ້, ຫຼັງຈາກນັ້ນພວກເຂົາຕ້ອງທັງຫມົດ
ມີຢູ່ໃນຜົນຜະລິດຫຼືວຽກແມ່ນຖືວ່າເປັນຄວາມລົ້ມເຫລວ.
AUTHORS
Gideon Juve[email protected]>
ທີມງານ Pegasus http://pegasus.isi.edu
ໃຊ້ pegasus-exitcode ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net