crawl.pyとscraping.pyに分かれてるんだよ?

了解しました。その場合、Celeryを使用して crawl.pyscraping.py のそれぞれのスクリプトを非同期で実行する方法を示します。

まず、それぞれのスクリプトにCeleryタスクを定義します。

crawl.py:

python
# crawl.py from celery import shared_task @shared_task def crawl_task(): # クロールの処理を実行する print("Crawling task completed.")

scraping.py:

python
# scraping.py from celery import shared_task @shared_task def scrape_task(): # スクレイピングの処理を実行する print("Scraping task started.")

次に、これらのタスクを呼び出すメインスクリプトを作成します。

main.py:

python
# main.py from crawl import crawl_task from scraping import scrape_task def main(): # クロールタスクを非同期で実行する crawl_task.delay() print("Crawl task added to the queue.") # スクレイピングタスクを非同期で実行する scrape_task.delay() print("Scraping task added to the queue.") if __name__ == "__main__": main()

最後に、Celeryワーカーを起動し、これらのタスクを実行します。

css
celery -A your_project_name worker --loglevel=info

このセットアップでは、main.py を実行することで、crawl_taskscrape_task が非同期でキューに追加され、Celeryワーカーがそれらのタスクを実行します。

未分類

Posted by ぼっち