Python | 応用例:「レポート生成から PDF化・メール送信・クラウド共有までを一括自動化するパイプライン」

Python
スポンサーリンク

応用例:「このパイプラインをスケジューリング(毎日・毎週自動実行)」

レポート生成 → PDF化 → メール送信 → クラウド共有までを一括自動化したパイプラインを、毎日・毎週自動実行できるようにスケジューリングすると、完全な「定期レポート配布システム」が完成します。


方法1: Python の schedule ライブラリを使う

import schedule
import time

def pipeline():
    print("レポート生成 → PDF化 → メール送信 → クラウド共有 実行中...")
    # ここに前回作成したパイプライン関数を呼び出す
    # generate_report()
    # convert_to_pdf()
    # send_email()
    # upload_to_drive()

# 毎日9時に実行
schedule.every().day.at("09:00").do(pipeline)

# 毎週月曜日の10時に実行
schedule.every().monday.at("10:00").do(pipeline)

while True:
    schedule.run_pending()
    time.sleep(60)  # 1分ごとにチェック
Python

👉 このスクリプトを常時稼働させておけば、指定した時間に自動的にパイプラインが実行されます。


方法2: OS のタスクスケジューラを使う

  • Linux / macOScron を利用
    例: 毎日9時に実行する場合 0 9 * * * /usr/bin/python3 /path/to/pipeline.py
  • Windows → 「タスクスケジューラ」で Python スクリプトを登録
    • トリガー: 毎日 / 毎週
    • アクション: python pipeline.py を実行

👉 OSレベルでスケジューリングすると、サーバーやPCが稼働している限り確実に実行されます。


解説ポイント

  • Python内でスケジューリングschedule ライブラリで柔軟に制御可能。
  • OSレベルでスケジューリングcron や Windows タスクスケジューラで安定運用。
  • 組み合わせ → 開発中は schedule、本番運用は cron やタスクスケジューラが便利。

応用の場面

  • 毎日レポート配布 → 朝9時に自動生成してメール送信。
  • 週次レポート配布 → 毎週月曜にクラウド共有リンクを更新。
  • 定期業務の自動化 → データ更新から配布まで完全自動化。

まとめ

  • パイプラインを スケジューリングすれば、完全自動の定期レポート配布が可能。
  • schedule ライブラリ → 開発・テストに便利。
  • cron / Windows タスクスケジューラ → 本番運用に最適。
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました