Closed ragi256 closed 4 years ago
https://github.com/bricolages/bricolage/pull/124 のあとにrebaseして、draftからPR化します
今までjobと1対1になっていたjob executionを1対nにし、実行のたびに増えるようにします。 また、それにあわせてJobTaskまわりに改修を加えてjob_execution情報を格納できるようにします。
bricolageが実行するrubyプロセス内での実質的案キューは@queueであり、その@queue に格納するオブジェクトでjob_executionのstate更新やjob/jobnetsのlock更新を行うようにします。このため、JobTask内部にjob_executionのidやjob_idを格納します。
@queue
job_execution
state
job
jobnets
lock
job_id
このため restore_if_existで呼ぶenqueue_job_executions内部でJobTaskを@queueに詰めるため、@queueのサイズが変わるタイミングが既存のFileTaskQueueと異なるようになり、テスト内容も変更しました。
restore_if_exist
enqueue_job_executions
FileTaskQueue
実行しそこないのJobがない(永続化されたQueueがない)時、restore_if_existを実行直後は FileTaskQueue: @queue.size は0(未enqueue、JobNetRunner#enqueue_jobsで詰める) DatabaseTaskQueue: @queue.size はjobnet内部のjob数(つまりenqueue済)
@queue.size
JobNetRunner#enqueue_jobs
PRのbaseをmasterに対して向けていましたが、 #124 の後続のPRであるため、baseを #124 にむけることとしました。 https://github.com/bricolages/bricolage/pull/126
なのでこちらは閉じます。
https://github.com/bricolages/bricolage/pull/124 のあとにrebaseして、draftからPR化します
今までjobと1対1になっていたjob executionを1対nにし、実行のたびに増えるようにします。 また、それにあわせてJobTaskまわりに改修を加えてjob_execution情報を格納できるようにします。
commit内容
11fac7e で入った・発覚した変更について
bricolageが実行するrubyプロセス内での実質的案キューは
@queue
であり、その@queue
に格納するオブジェクトでjob_execution
のstate
更新やjob
/jobnets
のlock
更新を行うようにします。このため、JobTask内部にjob_execution
のidやjob_id
を格納します。このため
restore_if_exist
で呼ぶenqueue_job_executions
内部でJobTaskを@queue
に詰めるため、@queue
のサイズが変わるタイミングが既存のFileTaskQueue
と異なるようになり、テスト内容も変更しました。実行しそこないのJobがない(永続化されたQueueがない)時、
restore_if_exist
を実行直後は FileTaskQueue:@queue.size
は0(未enqueue、JobNetRunner#enqueue_jobs
で詰める) DatabaseTaskQueue:@queue.size
はjobnet内部のjob数(つまりenqueue済)