મફત ક્રોન એક્સપ્રેશન બિલ્ડર

શેડ્યુલ કરેલા ટાસ્ક માટે ક્રોન એક્સપ્રેશન બનાવો, વેલિડેટ કરો અને સમજાવો. લાઇવ સાદી-અંગ્રેજી વર્ણન, આગામી-5-રન પ્રિવ્યુ અને સામાન્ય પેટર્ન પ્રીસેટ.

એક વાર લોડ થયા પછી ઑફલાઇન કામ કરે છે
મિનિટ
(0-59)
કલાક
(0-23)
દિવસ
(1-31)
મહિનો
(1-12)
અઠવાડિયાનો દિવસ
(0-7)

સાદી ભાષામાં

9:00 AM વાગ્યે, સોમવારથી શુક્રવાર.

સામાન્ય પેટર્ન

સ્ટાન્ડર્ડ Unix cron, GitHub Actions, Kubernetes CronJob, અને મોટાભાગની શેડ્યુલિંગ સિસ્ટમ સાથે સુસંગત. 'દરેક' માટે * વાપરો, 'દર 5' માટે */5, રેન્જ માટે 1-5, ચોક્કસ વેલ્યુ માટે 1,15. @hourly, @daily, @weekly, @monthly, @yearly અને MON-FRI અથવા JAN-DEC જેવા નામો પણ સ્વીકારે છે.

આ કેવી રીતે કાર્ય કરે છે

ક્રોન એક્સપ્રેશન બિલ્ડર lib/cron.ts માં હાથે લખેલા પાર્સરનો ઉપયોગ કરીને સંપૂર્ણપણે તમારા બ્રાઉઝરમાં ચાલે છે — કોઈ બાહ્ય લાઇબ્રેરી નહીં, કોઈ સર્વર કૉલ નહીં. તે એક્સપ્રેશન વેલિડેટ કરે છે, બ્રાઉઝરના બિલ્ટ-ઇન Intl.DateTimeFormat અને Intl.ListFormat API નો ઉપયોગ કરી લોકેલ-અનુસાર દિવસ અને મહિનાના નામ સાથે સાદી-ભાષામાં વર્ણન બનાવે છે, અને દરેક મિનિટ ચકાસવાને બદલે ફિલ્ડ-સ્કિપિંગ લોજિક વડે સમયમાં આગળ વધીને પછીના શેડ્યુલ કરેલા રન સમય ગણે છે.

  1. 1
    એક્સપ્રેશન ફિલ્ડ-બાય-ફિલ્ડ પાર્સ થાય છે
    પાર્સર એક્સપ્રેશનને પાંચ (અથવા છ) સ્પેસથી અલગ કરેલા ફિલ્ડમાં વિભાજિત કરે છે અને દરેકને કોમા, રેન્જ (દા.ત. 1-5), સ્ટેપ નોટેશન (દા.ત. */15), અને MON કે JAN જેવા નામિત મૂલ્યો માટે ટોકનાઇઝ કરે છે. @daily જેવા @macro પાર્સિંગ શરૂ થાય તે પહેલાં તેમના પાંચ-ફિલ્ડ સમકક્ષમાં વિસ્તૃત થાય છે. અમાન્ય મૂલ્યો કે રેન્જ બહારના નંબરો ટાઈપ કરેલી એરર કીઝ તરીકે દેખાય છે જે લોકલાઇઝ્ડ સંદેશા સાથે મેપ થાય છે.
  2. 2
    માનવ-વાચ્ય વર્ણન બનાવવામાં આવે છે
    lib/cron.ts માંનું describeCron() કયા ફિલ્ડ વાઇલ્ડકાર્ડ છે અને કયા સ્પષ્ટ સેટ છે તે તપાસીને અંગ્રેજી (કે લોકલાઇઝ્ડ) વાક્ય બનાવે છે. દિવસ અને મહિનાના નામ સક્રિય લોકેલ સાથે Intl.DateTimeFormat દ્વારા ઉકેલાય છે, અને લિસ્ટ આઇટમ Intl.ListFormat વડે જોડાય છે જેથી જોડાણ ('and' vs ',' vs લોકેલ-વિશિષ્ટ સ્વરૂપ) વપરાશકર્તાની ભાષા સાથે મેળ ખાય.
  3. 3
    ફિલ્ડ-સ્કિપિંગ સાથે આગામી રન સમય ગણવામાં આવે છે
    nextRuns() વર્તમાન ક્ષણથી Date ઑબ્જેક્ટને આગળ ચલાવે છે, પરંતુ દરેક મિનિટ ચકાસવાને બદલે મેળ ન ખાઈ શકે તેવા આખા મહિના, દિવસ, કે કલાક છોડી દે છે. આનો અર્થ એ કે Feb 30 જેવું અશક્ય શેડ્યુલ 2.6 મિલિયન વખત લૂપ કરવાને બદલે પાંચ-વર્ષની હોરાઇઝન ચકાસણી દ્વારા ઝડપથી બહાર નીકળી જાય છે.
  4. 4
    એક્સપ્રેશન URL ફ્રેગમેન્ટ દ્વારા શેર થાય છે
    તમે ટાઈપ કરેલું કોઈપણ એક્સપ્રેશન પેજના URL ફ્રેગમેન્ટમાં #expr= તરીકે લખાય છે (window.history.replaceState દ્વારા 500 ms ડિબાઉન્સ કરેલું). ફ્રેગમેન્ટ ક્યારેય સર્વર પર મોકલાતું નથી; પેજ લોડ થતાં તેમાંથી હાઇડ્રેટ થાય છે, તેથી URL શેર કરવાથી કે બુકમાર્ક કરવાથી કોઈપણ સર્વર સ્ટેટ વગર બરાબર એ જ એક્સપ્રેશન પુનઃસ્થાપિત થાય છે.

સંબંધિત સાધનો

વારંવાર પૂછાતા પ્રશ્નો