Cron 式生成ツール
プリセットと次回実行時刻付きでcron式を視覚的に構築します。
0 0 * * *
わかりやすい説明
Runs every day at midnight
このツールについて
Cron式はUnix系システム、データベース、ウェブアプリケーションでタスクのスケジューリングに使用される標準構文です。5つまたは6つのフィールドで分、時間、日、月、曜日パターンを表現するため、その簡潔なフォーマットは正しい記述が難しいことで知られています。このツールは視覚的なインターフェースを提供し、直感的なドロップダウンやラジオボタンを使って目的のスケジュールを選択するだけで、対応するcron式と次の実行時刻が即座に表示されます。
ツールを使用するには、まず「毎分」「毎時」「毎日の特定時刻」「カスタム」などのプリセットから希望するスケジュール頻度を選択します。プリセットまたはカスタムオプションを選んだら、インタラクティブなコントロールを使用して特定の時間や日付の制約を調整します。ツールはリアルタイムで標準cron式構文を生成し、次の実行時刻を表示するため、アプリケーションに配置する前にスケジュールの正確性を簡単に検証できます。バックグラウンドジョブ、データベースメンテナンスタスク、自動レポート生成など、精度が重要な場面で特に有用です。
よくある質問
コード実装
import re
def describe_cron(expression: str) -> str:
"""Parse a cron expression and return a plain-text description."""
parts = expression.strip().split()
if len(parts) != 5:
raise ValueError("Expected 5 fields: minute hour day month weekday")
minute, hour, day, month, weekday = parts
def field(val, unit):
if val == "*": return f"every {unit}"
if val.startswith("*/"):
return f"every {val[2:]} {unit}s"
if "," in val:
return f"{unit}s {val}"
if "-" in val:
lo, hi = val.split("-")
return f"from {unit} {lo} to {hi}"
return f"at {unit} {val}"
months = ["", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
parts_desc = [
field(minute, "minute"),
field(hour, "hour"),
field(day, "day-of-month"),
field(month, "month"),
field(weekday, "weekday"),
]
return ", ".join(parts_desc)
# Examples
print(describe_cron("0 9 * * 1-5")) # Every weekday at 9 AM
print(describe_cron("*/15 * * * *")) # Every 15 minutes
print(describe_cron("0 0 1 * *")) # First day of every month at midnightComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.