シリアルで実行したいジョブと、同時に並行して実行したいジョブの 2 種類があります。ただし、並列ジョブを順次スケジュールする必要があります (まだフォローしている場合)。あれは:
- A を行います。
- A を待って、B を実行します。
- B を待って、C の 2 つ以上のバージョンをすべて同時に実行します。
私の考えでは、2 つの redis キューがあり、serial_queue にはワーカーが 1 つしかありません。そして、複数のワーカーを持つ parallel_queue 。
serial_queue.schedule(
scheduled_time=datetime.utcnow(),
func=job_a,
...)
serial_queue.schedule(
scheduled_time=datetime.utcnow(),
func=job_b,
...)
def parallel_c():
for task in range(args.n_tasks):
queue_concurrent.schedule(
scheduled_time=datetime.utcnow(),
func=job_c,
...)
serial_queue.schedule(
scheduled_time=datetime.utcnow(),
func=parallel_c,
...)
しかし、現在、このセットアップでは、
AttributeError: module '__main__' has no attribute 'schedule_fetch_tweets'
. この関数を適切にパッケージ化するにはどうすればよいpython-rq
ですか?