0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Workato】JobがずっとProcessing...のままになるときの対処

Last updated at Posted at 2021-02-14

実行したジョブが一向に終わらないときの考えられる原因

実は、実行しているアクションが「Long action」だった、という可能性が高いです。

Long actionとは?

アクションの中には、long actionと呼ばれる特殊なアクションが存在します。
どんなものかと言うと、「非同期で実行されるアクション」です。
例えば、

  • Bulkアクション
  • SchedulerコネクターのWaitアクション
  • ストリーミングでファイルを転送する系のアクション

こういったものがlong actionであるケースが多いです。

Long actionがレシピに含まれる場合、レシピを「start」させる

Long actionが含まれるレシピを実行するときはレシピをstartして稼働させておく必要があります。

なぜ稼働させておく必要があるのか?

一般的に、処理に時間がかかるAPIは非同期で呼び出されるようにデザインされている場合があります。こういったAPIは、アプリケーション側がリクエストを受け付けたら一旦すぐにレスポンスを返しちゃいます。そして裏で処理を粛々と進めます。
そのため、逆にAPIを呼び出した側は処理が終わってるかどうかは別途「終わってるかな〜?」と確認しにいく必要があります。終わってなければ、もう少し待って再度様子を見にいきます。

Workatoはこういった非同期で呼び出すアクションを実行すると、裏で5分おきに処理が終わってるかどうかのリクエストを自動で投げます。ただし、これはレシピがstartされて稼働しているときにしか行われません。
なので、例えばレシピを稼働させてない状態でtest実行すると、非同期APIを呼び出してはくれますが、終わってるかどうかのチェックが行われないためずっとProcessing...となってしまうわけです。

一応、test実行してからレシピの編集画面をexitし、レシピをstartさせた場合はうまく動作します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?