زمان
4 tools
ابزارهای زمان ToolDeck به شما امکان میدهند تایماستمپهای Unix را تبدیل کنید، عبارات cron را تجزیه کنید، برنامههای cron را به صورت بصری ایجاد کنید و نحو cron را مستقیماً در مرورگر خود اعتبارسنجی کنید. تبدیلکننده تایماستمپ بین مقادیر Unix epoch و تاریخهای قابلخواندن انسانی در تمام فرمتهای اصلی تبدیل میکند. تجزیهکننده عبارات Cron رشتههای cron را به توضیحات زبان ساده با پیشنمایش اجراهای آینده تبدیل میکند. سازنده عبارات Cron از طریق یک رابط بصری گامبهگام بدون ویرایش دستی، عبارات cron میسازد. اعتبارسنج عبارات Cron نحو cron را بررسی کرده و تجزیه فیلد به فیلد هر مؤلفه را نمایش میدهد. تمام پردازشها به صورت محلی در مرورگر شما اجرا میشود — بدون رفتوبرگشت به سرور، بدون نیاز به حساب کاربری و بدون جمعآوری داده.
از تبدیلکننده تایماستمپ برای ترجمه مقادیر epoch از لاگها یا API ها استفاده کنید، از تجزیهکننده عبارات Cron برای خواندن یک برنامه موجود به زبان ساده، از سازنده عبارات Cron برای ساختن بصری یک عبارت جدید، یا از اعتبارسنج عبارات Cron برای تأیید نحو قبل از استقرار در محیط تولید.
ابزارهای زمان چه هستند؟
ابزارهای زمان مشکلات عملی را حل میکنند که توسعهدهندگان هنگام کار با تاریخها، تایماستمپها و اجرای زمانبندیشده با آنها روبرو میشوند. تایماستمپهای Unix در ستونهای پایگاه داده، پاسخهای API، فایلهای لاگ و ادعاهای JWT ظاهر میشوند. مقداری خام مثل 1717200000 در حین یک حادثه باید به تاریخ قابلخواندن تبدیل شود. عبارات Cron در پیکربندیهای CI/CD، مانیفستهای Kubernetes و crontab های سرور ظاهر میشوند. نوشتن 0 9 * * 1-5 و اطمینان از اینکه ساعت ۹ صبح روزهای کاری (نه آخر هفته) اجرا میشود، نیاز به یک تجزیهکننده یا اعتبارسنج دارد.
ابزارهای زمان دو حوزه مجزا را پوشش میدهند. تبدیل تایماستمپ به ترجمه بین مقادیر Unix epoch (ثانیه یا میلیثانیه از 1970-01-01 00:00:00 UTC) و رشتههای تاریخ فرمتشده میپردازد. استانداردهای اصلی درگیر عبارتند از ISO 8601 (فرمت بینالمللی تاریخ/زمان، تعریفشده توسط سازمان بینالمللی استانداردسازی)، RFC 3339 (پروفایل اینترنتی ISO 8601، منتشرشده توسط IETF)، و RFC 2822 (فرمت تاریخ مورد استفاده در هدرهای ایمیل و HTTP). ابزارهای عبارت cron شامل تجزیه، تولید و اعتبارسنجی نحو برنامه پنجفیلدی است که در اصل در POSIX (IEEE Std 1003.1) تعریف شده. این نحو امروزه توسط crontab، تایمرهای systemd، GitHub Actions، Kubernetes CronJob ها و زمانبندهای ابری مانند AWS EventBridge و Google Cloud Scheduler استفاده میشود.
توسعهدهندگان در طول اشکالزدایی (تبدیل تایماستمپها از لاگها یا ردیفهای پایگاه داده)، در طول استقرار (نوشتن و تأیید برنامههای cron قبل از راهاندازی) و در طول بررسی کد (تأیید اینکه عبارت cron یک همکار با برنامه مورد نظر مطابقت دارد) از این ابزارها استفاده میکنند. مهندسان QA از تبدیل تایماستمپ برای تأیید اینکه پاسخهای API حاوی مقادیر تاریخ صحیح هستند استفاده میکنند. مهندسان DevOps از ابزارهای cron برای راهاندازی برنامههای پشتیبانگیری، چرخش لاگ و وظایف تجدید گواهینامه استفاده میکنند.
چرا از ابزارهای زمان در ToolDeck استفاده کنیم؟
ابزارهای زمان ToolDeck کاملاً در مرورگر شما اجرا میشوند. تایماستمپها و عبارات cron به صورت محلی از طریق JavaScript پردازش میشوند، بنابراین هیچ اطلاعاتی از دستگاه شما خارج نمیشود. هر ابزار روی یک کار مشخص تمرکز دارد و بدون فرایند ثبتنام یا محدودیت نرخ، فوراً بارگذاری میشود.
موارد استفاده ابزارهای زمان
مشکلات تایماستمپ و cron در کارهای backend، DevOps و QA دائماً پیش میآیند.
مرجع فرمتهای زمانی و نحو Cron
دو حوزه برای آشنایی: فرمتهای تایماستمپ مورد استفاده در API ها، پایگاههای داده و لاگها؛ و نحو عبارت cron مورد استفاده توسط Unix cron، Kubernetes، GitHub Actions و زمانبندهای ابری.
فرمتهای رایج تایماستمپ
| فرمت | مثال | استاندارد / توضیح |
|---|---|---|
| 1717200000 | ثانیههای Unix | POSIX / IEEE Std 1003.1 |
| 1717200000000 | میلیثانیههای Unix | JavaScript Date.now(), Java |
| 2024-06-01T00:00:00.000Z | UTC با میلیثانیه | ISO 8601 / RFC 3339 |
| 2024-06-01T00:00:00+02:00 | با افست UTC | ISO 8601 / RFC 3339 |
| Sat, 01 Jun 2024 00:00:00 +0000 | هدرهای ایمیل / HTTP | RFC 2822 |
| 2024-06-01 | فقط تاریخ | ISO 8601 (calendar date) |
فیلدهای عبارت Cron
| فیلد | مقادیر مجاز | کاراکترهای خاص |
|---|---|---|
| دقیقه | 0–59 | * , - / |
| ساعت | 0–23 | * , - / |
| روز ماه | 1–31 | * , - / ? L W |
| ماه | 1–12 or JAN–DEC | * , - / |
| روز هفته | 0–6 or SUN–SAT | * , - / ? L # |
cron استاندارد پنجفیلدی (از دقیقه تا روز هفته) توسط POSIX (IEEE Std 1003.1) تعریف شده و توسط crontab، systemd، Kubernetes CronJob ها، GitHub Actions و اکثر پلتفرمهای CI/CD استفاده میشود. برخی سیستمها مانند Quartz و Spring یک فیلد ششم برای ثانیهها اضافه میکنند. AWS EventBridge از یک نوع ششفیلدی با فیلد سال استفاده میکند. کاراکترهای L (آخرین)، W (نزدیکترین روز کاری) و # (n-امین رخداد) افزونههایی هستند که توسط سیستمهای سازگار با Quartz پشتیبانی میشوند اما توسط POSIX cron پشتیبانی نمیشوند.
چگونه ابزار زمانی مناسب را انتخاب کنیم
هر ابزار زمانی یک وظیفه متفاوت را کنترل میکند؛ چهار ابزار میتوانند در یک گردش کار واحد نیز با هم ترکیب شوند. هر بار که با یک مقدار epoch خام در لاگها، پاسخهای API یا ستونهای پایگاه داده روبرو میشوید از تبدیلکننده تایماستمپ استفاده کنید. از ابزارهای cron با هم استفاده کنید — سازنده برای ساختن عبارت، تجزیهکننده برای پیشنمایش زمانهای اجرای آینده، و اعتبارسنج برای تأیید نحو — قبل از commit کردن یک برنامه به یک مانیفست یا فایل پیکربندی.
- 1اگر نیاز دارید یک تایماستمپ Unix را به تاریخ قابلخواندن تبدیل کنید یا برعکس → تبدیلکننده تایماستمپ
- 2اگر نیاز دارید بفهمید یک عبارت cron موجود چه کاری انجام میدهد و ببینید کی بعدی اجرا میشود → تجزیهکننده عبارات Cron
- 3
- 4اگر نیاز دارید بررسی کنید که آیا یک عبارت cron از نظر نحوی معتبر است و هر فیلد را بازرسی کنید → اعتبارسنج عبارات Cron
برای یک گردش کار cron کامل: عبارت را در سازنده بسازید، زمانهای اجرای بعدی را در تجزیهکننده پیشنمایش کنید، و نحو را در اعتبارسنج قبل از commit به یک مانیفست یا crontab تأیید کنید. اگر تایماستمپها را از یک API یا پایگاه داده اشکالزدایی میکنید، تبدیلکننده تایماستمپ هم تایماستمپهای Unix ثانیه و هم میلیثانیه را کنترل میکند و خروجی ISO 8601، RFC 2822 و تاریخهای قالببندیشده محلی تولید میکند. تبدیلکننده تایماستمپ همچنین برای بازرسی JWT مفید است: ادعاهای exp (انقضا) و iat (زمان صدور) در یک JSON Web Token تایماستمپهای Unix بر حسب ثانیه هستند و paste کردن هر یک از مقادیر در تبدیلکننده زمان دقیق صدور یا پنجره انقضا را بدون نوشتن هیچ کدی نمایان میکند.