У меня есть два вида заданий: те, которые я хочу выполнять в последовательном режиме, и те, которые я хочу выполнять параллельно в параллельном режиме. Однако я хочу, чтобы параллельные задания планировались в последовательном порядке (если вы все еще подписываетесь). То есть:
- До А.
- Ждите A, делайте B.
- Ждите B, делайте 2+ версии C одновременно.
Я подумал, что у него 2 очереди redis, в serial_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
?