taverna-player 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.travis.yml +8 -0
- data/CHANGES.rdoc +47 -0
- data/README.rdoc +43 -3
- data/Rakefile +1 -4
- data/app/assets/stylesheets/taverna_player/coderay.css +30 -20
- data/app/controllers/taverna_player/application_controller.rb +2 -2
- data/app/controllers/taverna_player/job_queue_controller.rb +18 -0
- data/app/models/taverna_player/run.rb +10 -3
- data/app/views/taverna_player/job_queue/index.html.erb +47 -0
- data/app/views/taverna_player/runs/_interaction.html.erb +7 -1
- data/app/views/taverna_player/runs/embedded/new.html.erb +1 -1
- data/config/locales/en.yml +36 -0
- data/config/routes.rb +4 -1
- data/db/migrate/20140226135723_change_taverna_player_runs_status_message_to_use_keys.rb +19 -0
- data/lib/generators/taverna_player/install_generator.rb +6 -1
- data/lib/generators/templates/ReadMe.txt +6 -0
- data/lib/generators/templates/controllers/job_queue_controller.rb +19 -0
- data/lib/generators/templates/player_initializer.rb +8 -0
- data/lib/tasks/delete-cancelled-runs.rake +1 -1
- data/lib/taverna-player.rb +9 -1
- data/lib/taverna_player/concerns/controllers/job_queue_controller.rb +38 -0
- data/lib/taverna_player/concerns/controllers/runs_controller.rb +2 -13
- data/lib/taverna_player/concerns/models/run.rb +22 -9
- data/lib/taverna_player/concerns/models/run_port.rb +5 -0
- data/lib/taverna_player/port_renderer.rb +1 -1
- data/lib/taverna_player/version.rb +1 -1
- data/lib/taverna_player/worker.rb +78 -51
- data/taverna_player.gemspec +7 -5
- data/test/dummy/app/views/home/index.html.erb +1 -1
- data/test/dummy/app/views/layouts/application.html.erb +2 -1
- data/test/dummy/config/application.rb +1 -0
- data/test/dummy/config/initializers/taverna_player.rb +8 -3
- data/test/dummy/config/locales/taverna_player.en.yml +36 -0
- data/test/dummy/db/migrate/20140226143013_change_taverna_player_runs_status_message_to_use_keys.taverna_player.rb +20 -0
- data/test/dummy/db/schema.rb +9 -9
- data/test/dummy/lib/callbacks.rb +1 -5
- data/test/fixtures/files/non-ascii.csv +30 -0
- data/test/fixtures/taverna_player/interactions.yml +4 -1
- data/test/fixtures/taverna_player/runs.yml +6 -1
- data/test/functional/taverna_player/job_queue_controller_test.rb +35 -0
- data/test/functional/taverna_player/runs_controller_test.rb +20 -0
- data/test/functional/taverna_player/service_credentials_controller_test.rb +3 -3
- data/test/test_helper.rb +4 -1
- data/test/unit/helpers/taverna_player/runs_helper_test.rb +20 -1
- data/test/unit/taverna_player/run_port_test.rb +41 -5
- data/test/unit/{utils_test.rb → taverna_player/utils_test.rb} +0 -0
- data/test/unit/taverna_player/worker_test.rb +201 -0
- metadata +67 -18
- data/test/fixtures/files/crassostrea_gigas.csv +0 -737
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/CHANGES.rdoc
CHANGED
@@ -1,5 +1,52 @@
|
|
1
1
|
= Changes log for Taverna Player
|
2
2
|
|
3
|
+
== Version 0.6.0
|
4
|
+
|
5
|
+
* [TAV-485] Set up separate worker integration test.
|
6
|
+
* [TAV-469] Fix notification interactions.
|
7
|
+
* Delete cancelled runs rake task not working.
|
8
|
+
* [TAV-495] Stop interactions from changing the document title.
|
9
|
+
* [TAV-493] Namespace preset values for embedded runs.
|
10
|
+
* Setup Travis-CI.
|
11
|
+
* Add a travis badge to the readme.
|
12
|
+
* Add Coveralls integration to the tests.
|
13
|
+
* Allow configuration of the delayed_job queue name.
|
14
|
+
* Update tests to properly test all callback code.
|
15
|
+
* Add documentation for the job_queue_name option.
|
16
|
+
* [TAV-496] Allow workflow file to be passed in to worker.
|
17
|
+
* Guard against missing input presets in embedded view.
|
18
|
+
* Add a job queue listing page.
|
19
|
+
* Move admin type resources into their own namespace.
|
20
|
+
* [TAV-485] Better tests for the worker code.
|
21
|
+
* [TAV-485] Ensure run is backed-off before starting.
|
22
|
+
* [TAV-485] Ensure run is backed-off before creation.
|
23
|
+
* [TAV-485] Test a failing run.
|
24
|
+
* [TAV-485] Test a cancelled run.
|
25
|
+
* Add a coveralls badge to the readme.
|
26
|
+
* Factor out the worker failure handler.
|
27
|
+
* Add a worker test for failure within the failure callback.
|
28
|
+
* Add a worker test for failure within the cancelled callback.
|
29
|
+
* Assert that there is a run failure message on failure.
|
30
|
+
* Add a worker test for failure within the pre_run callback.
|
31
|
+
* Add a worker test for failure within the post_run callback.
|
32
|
+
* [TAV-457] Add I18n file for run status messages.
|
33
|
+
* [TAV-457] Install the locale file in the install generator.
|
34
|
+
* Don't save translated run status message in the database.
|
35
|
+
* Use the locale file for validation error message.
|
36
|
+
* [TAV-499] Clean up timed out runs properly.
|
37
|
+
* Update missed translation keys in the installed locale file.
|
38
|
+
* Update the coderay dependency.
|
39
|
+
* Update the delayed_job dependency.
|
40
|
+
* Update Paperclip dependency.
|
41
|
+
* Update the JBuilder dependency.
|
42
|
+
* Allow use of latest jquery-rails gem.
|
43
|
+
* Factor out running callbacks in the worker.
|
44
|
+
* Simplified method of choosing which layout to use
|
45
|
+
* Force input data to be treated as binary initially.
|
46
|
+
* Add tests for small non-ascii/utf-8 values.
|
47
|
+
* Make the controller dependency chain more explicit.
|
48
|
+
* Added test to see if input RunPorts are created along with the run
|
49
|
+
|
3
50
|
== Version 0.5.0
|
4
51
|
|
5
52
|
* [TAV-480] Refactor output port downloading.
|
data/README.rdoc
CHANGED
@@ -8,6 +8,8 @@ Copyright:: (c) 2013, 2014 The University of Manchester, UK
|
|
8
8
|
|
9
9
|
{<img src="https://badge.fury.io/rb/taverna-player.png" alt="Gem Version" />}[http://badge.fury.io/rb/taverna-player]
|
10
10
|
{<img src="https://codeclimate.com/github/myGrid/taverna-player.png" />}[https://codeclimate.com/github/myGrid/taverna-player]
|
11
|
+
{<img src="https://travis-ci.org/myGrid/taverna-player.png?branch=master" alt="Build Status" />}[https://travis-ci.org/myGrid/taverna-player]
|
12
|
+
{<img src="https://coveralls.io/repos/myGrid/taverna-player/badge.png?branch=master" alt="Coverage Status" />}[https://coveralls.io/r/myGrid/taverna-player?branch=master]
|
11
13
|
|
12
14
|
== Synopsis
|
13
15
|
|
@@ -41,9 +43,10 @@ Next you need to run the install generator:
|
|
41
43
|
This installs two initializer files (into your application's
|
42
44
|
<tt>config/initializers</tt> directory) which describe all of Taverna Player's
|
43
45
|
configuration options; there are some things that MUST be configured before it
|
44
|
-
will work - see below for more information. The install generator also
|
45
|
-
|
46
|
-
|
46
|
+
will work - see below for more information. The install generator also creates
|
47
|
+
a locale file at <tt>config/locales/taverna_player.en.yml</tt> and prints out
|
48
|
+
a list of other steps for setting up Taverna Player; these are repeated and
|
49
|
+
detailed below.
|
47
50
|
|
48
51
|
== Running Taverna Player
|
49
52
|
|
@@ -79,6 +82,10 @@ would start your workers like this:
|
|
79
82
|
|
80
83
|
RAILS_ENV=production bundle exec ./script/delayed_job -n 20 --queue=player start
|
81
84
|
|
85
|
+
By default Taverna Player puts its jobs into the "player" queue which is why
|
86
|
+
this is specified above. If you change this configuration (see below) you will
|
87
|
+
need to specify a different queue in the command above.
|
88
|
+
|
82
89
|
See the documentation for {delayed_job}[https://rubygems.org/gems/delayed_job]
|
83
90
|
for more options and information.
|
84
91
|
|
@@ -88,6 +95,29 @@ Mount the Taverna Player engine in your <tt>config/routes.rb</tt>. For example:
|
|
88
95
|
|
89
96
|
mount TavernaPlayer::Engine, :at => "/"
|
90
97
|
|
98
|
+
Taverna Player provides three resources with paths:
|
99
|
+
|
100
|
+
* <tt>/runs/*</tt>
|
101
|
+
* <tt>/service_credentials/*</tt>
|
102
|
+
* <tt>/job_queue</tt>
|
103
|
+
|
104
|
+
Runs are what you will interact with most as this is the model that represents
|
105
|
+
a workflow execution.
|
106
|
+
|
107
|
+
Service credentials and the job queue are administrator resources. If you have
|
108
|
+
users you may like to restrict access to these resources (see the section on
|
109
|
+
overriding controllers, below). These two resources can be moved to a
|
110
|
+
different namespace if you like. In the Taverna Player initializer you can
|
111
|
+
set (for example):
|
112
|
+
|
113
|
+
config.admin_scope = "admin"
|
114
|
+
|
115
|
+
And the resource paths would become:
|
116
|
+
|
117
|
+
* <tt>/runs/*</tt>
|
118
|
+
* <tt>/admin/service_credentials/*</tt>
|
119
|
+
* <tt>/admin/job_queue</tt>
|
120
|
+
|
91
121
|
You can also nest the Taverna Player runs resources within your workflows
|
92
122
|
resources if you wish, like this:
|
93
123
|
|
@@ -317,6 +347,15 @@ want it to store its files:
|
|
317
347
|
Use ":rails_root" for the root of your application, or specify a full path for
|
318
348
|
anywhere else.
|
319
349
|
|
350
|
+
==== Jobs
|
351
|
+
|
352
|
+
Taverna Player uses the "player" queue for its delayed jobs. You can change
|
353
|
+
this with:
|
354
|
+
|
355
|
+
config.job_queue_name = "my_queue"
|
356
|
+
|
357
|
+
Remember to start workers listening to the correct queue if you change it.
|
358
|
+
|
320
359
|
==== Run callbacks and renderers
|
321
360
|
|
322
361
|
These are described in their own sections, below.
|
@@ -344,6 +383,7 @@ You can override the following core components:
|
|
344
383
|
* RunPort::Output (model)
|
345
384
|
* RunsController
|
346
385
|
* ServiceCredentialsController
|
386
|
+
* JobQueueController
|
347
387
|
|
348
388
|
Use the generators, detailed above, to create stubs for you to expand. These
|
349
389
|
components have been designed for overriding with the decorator pattern using
|
data/Rakefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
2
|
#------------------------------------------------------------------------------
|
3
|
-
# Copyright (c) 2013 The University of Manchester, UK.
|
3
|
+
# Copyright (c) 2013, 2014 The University of Manchester, UK.
|
4
4
|
#
|
5
5
|
# BSD Licenced. See LICENCE.rdoc for details.
|
6
6
|
#
|
@@ -49,8 +49,6 @@ end
|
|
49
49
|
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
50
50
|
load 'rails/tasks/engine.rake'
|
51
51
|
|
52
|
-
|
53
|
-
|
54
52
|
Bundler::GemHelper.install_tasks
|
55
53
|
|
56
54
|
require 'rake/testtask'
|
@@ -62,5 +60,4 @@ Rake::TestTask.new(:test) do |t|
|
|
62
60
|
t.verbose = false
|
63
61
|
end
|
64
62
|
|
65
|
-
|
66
63
|
task :default => :test
|
@@ -13,7 +13,7 @@ table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px; }
|
|
13
13
|
table.CodeRay td { padding: 2px 4px; vertical-align: top; }
|
14
14
|
|
15
15
|
.CodeRay .line-numbers {
|
16
|
-
background-color: hsl(
|
16
|
+
background-color: hsl(180,65%,90%);
|
17
17
|
color: gray;
|
18
18
|
text-align: right;
|
19
19
|
-webkit-user-select: none;
|
@@ -21,10 +21,13 @@ table.CodeRay td { padding: 2px 4px; vertical-align: top; }
|
|
21
21
|
user-select: none;
|
22
22
|
}
|
23
23
|
.CodeRay .line-numbers a {
|
24
|
-
background-color: hsl(
|
24
|
+
background-color: hsl(180,65%,90%) !important;
|
25
25
|
color: gray !important;
|
26
26
|
text-decoration: none !important;
|
27
27
|
}
|
28
|
+
.CodeRay .line-numbers pre {
|
29
|
+
word-break: normal;
|
30
|
+
}
|
28
31
|
.CodeRay .line-numbers a:target { color: blue !important; }
|
29
32
|
.CodeRay .line-numbers .highlighted { color: red !important; }
|
30
33
|
.CodeRay .line-numbers .highlighted a { color: red !important; }
|
@@ -37,77 +40,84 @@ table.CodeRay td { padding: 2px 4px; vertical-align: top; }
|
|
37
40
|
.CodeRay .annotation { color:#007 }
|
38
41
|
.CodeRay .attribute-name { color:#b48 }
|
39
42
|
.CodeRay .attribute-value { color:#700 }
|
40
|
-
.CodeRay .binary { color:#
|
43
|
+
.CodeRay .binary { color:#549 }
|
44
|
+
.CodeRay .binary .char { color:#325 }
|
45
|
+
.CodeRay .binary .delimiter { color:#325 }
|
46
|
+
.CodeRay .char { color:#D20 }
|
41
47
|
.CodeRay .char .content { color:#D20 }
|
42
48
|
.CodeRay .char .delimiter { color:#710 }
|
43
|
-
.CodeRay .char { color:#D20 }
|
44
49
|
.CodeRay .class { color:#B06; font-weight:bold }
|
45
50
|
.CodeRay .class-variable { color:#369 }
|
46
51
|
.CodeRay .color { color:#0A0 }
|
47
52
|
.CodeRay .comment { color:#777 }
|
48
53
|
.CodeRay .comment .char { color:#444 }
|
49
54
|
.CodeRay .comment .delimiter { color:#444 }
|
50
|
-
.CodeRay .complex { color:#A08 }
|
51
55
|
.CodeRay .constant { color:#036; font-weight:bold }
|
52
56
|
.CodeRay .decorator { color:#B0B }
|
53
57
|
.CodeRay .definition { color:#099; font-weight:bold }
|
54
58
|
.CodeRay .delimiter { color:black }
|
55
59
|
.CodeRay .directive { color:#088; font-weight:bold }
|
56
|
-
.CodeRay .
|
57
|
-
.CodeRay .doc-string { color:#D42; font-weight:bold }
|
60
|
+
.CodeRay .docstring { color:#D42; }
|
58
61
|
.CodeRay .doctype { color:#34b }
|
62
|
+
.CodeRay .done { text-decoration: line-through; color: gray }
|
59
63
|
.CodeRay .entity { color:#800; font-weight:bold }
|
60
64
|
.CodeRay .error { color:#F00; background-color:#FAA }
|
61
65
|
.CodeRay .escape { color:#666 }
|
62
66
|
.CodeRay .exception { color:#C00; font-weight:bold }
|
63
67
|
.CodeRay .float { color:#60E }
|
64
68
|
.CodeRay .function { color:#06B; font-weight:bold }
|
69
|
+
.CodeRay .function .delimiter { color:#024; font-weight:bold }
|
65
70
|
.CodeRay .global-variable { color:#d70 }
|
66
71
|
.CodeRay .hex { color:#02b }
|
67
|
-
.CodeRay .
|
72
|
+
.CodeRay .id { color:#33D; font-weight:bold }
|
68
73
|
.CodeRay .include { color:#B44; font-weight:bold }
|
69
74
|
.CodeRay .inline { background-color: hsla(0,0%,0%,0.07); color: black }
|
70
75
|
.CodeRay .inline-delimiter { font-weight: bold; color: #666 }
|
71
76
|
.CodeRay .instance-variable { color:#33B }
|
72
77
|
.CodeRay .integer { color:#00D }
|
78
|
+
.CodeRay .imaginary { color:#f00 }
|
79
|
+
.CodeRay .important { color:#D00 }
|
80
|
+
.CodeRay .key { color: #606 }
|
73
81
|
.CodeRay .key .char { color: #60f }
|
74
82
|
.CodeRay .key .delimiter { color: #404 }
|
75
|
-
.CodeRay .key { color: #606 }
|
76
83
|
.CodeRay .keyword { color:#080; font-weight:bold }
|
77
84
|
.CodeRay .label { color:#970; font-weight:bold }
|
78
|
-
.CodeRay .local-variable { color:#
|
85
|
+
.CodeRay .local-variable { color:#950 }
|
86
|
+
.CodeRay .map .content { color:#808 }
|
87
|
+
.CodeRay .map .delimiter { color:#40A}
|
88
|
+
.CodeRay .map { background-color:hsla(200,100%,50%,0.06); }
|
79
89
|
.CodeRay .namespace { color:#707; font-weight:bold }
|
80
90
|
.CodeRay .octal { color:#40E }
|
81
91
|
.CodeRay .operator { }
|
82
92
|
.CodeRay .predefined { color:#369; font-weight:bold }
|
83
93
|
.CodeRay .predefined-constant { color:#069 }
|
84
|
-
.CodeRay .predefined-type { color:#
|
94
|
+
.CodeRay .predefined-type { color:#0a8; font-weight:bold }
|
85
95
|
.CodeRay .preprocessor { color:#579 }
|
86
96
|
.CodeRay .pseudo-class { color:#00C; font-weight:bold }
|
97
|
+
.CodeRay .regexp { background-color:hsla(300,100%,50%,0.06); }
|
87
98
|
.CodeRay .regexp .content { color:#808 }
|
88
99
|
.CodeRay .regexp .delimiter { color:#404 }
|
89
100
|
.CodeRay .regexp .modifier { color:#C2C }
|
90
|
-
.CodeRay .regexp { background-color:hsla(300,100%,50%,0.06); }
|
91
101
|
.CodeRay .reserved { color:#080; font-weight:bold }
|
102
|
+
.CodeRay .shell { background-color:hsla(120,100%,50%,0.06); }
|
92
103
|
.CodeRay .shell .content { color:#2B2 }
|
93
104
|
.CodeRay .shell .delimiter { color:#161 }
|
94
|
-
.CodeRay .
|
105
|
+
.CodeRay .string { background-color:hsla(0,100%,50%,0.05); }
|
95
106
|
.CodeRay .string .char { color: #b0b }
|
96
107
|
.CodeRay .string .content { color: #D20 }
|
97
108
|
.CodeRay .string .delimiter { color: #710 }
|
98
109
|
.CodeRay .string .modifier { color: #E40 }
|
99
|
-
.CodeRay .string { background-color:hsla(0,100%,50%,0.05); }
|
100
|
-
.CodeRay .symbol .content { color:#A60 }
|
101
|
-
.CodeRay .symbol .delimiter { color:#630 }
|
102
110
|
.CodeRay .symbol { color:#A60 }
|
103
|
-
.CodeRay .
|
111
|
+
.CodeRay .symbol .content { color:#A60 }
|
112
|
+
.CodeRay .symbol .delimiter { color:#740 }
|
113
|
+
.CodeRay .tag { color:#070; font-weight:bold }
|
104
114
|
.CodeRay .type { color:#339; font-weight:bold }
|
105
|
-
.CodeRay .value { color: #088
|
106
|
-
.CodeRay .variable
|
115
|
+
.CodeRay .value { color: #088 }
|
116
|
+
.CodeRay .variable { color:#037 }
|
107
117
|
|
108
118
|
.CodeRay .insert { background: hsla(120,100%,50%,0.12) }
|
109
119
|
.CodeRay .delete { background: hsla(0,100%,50%,0.12) }
|
110
|
-
.CodeRay .change { color: #bbf; background: #007
|
120
|
+
.CodeRay .change { color: #bbf; background: #007 }
|
111
121
|
.CodeRay .head { color: #f8f; background: #505 }
|
112
122
|
.CodeRay .head .filename { color: white; }
|
113
123
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#------------------------------------------------------------------------------
|
2
|
-
# Copyright (c) 2013 The University of Manchester, UK.
|
2
|
+
# Copyright (c) 2013, 2014 The University of Manchester, UK.
|
3
3
|
#
|
4
4
|
# BSD Licenced. See LICENCE.rdoc for details.
|
5
5
|
#
|
@@ -11,6 +11,6 @@
|
|
11
11
|
#------------------------------------------------------------------------------
|
12
12
|
|
13
13
|
module TavernaPlayer
|
14
|
-
class ApplicationController < ApplicationController
|
14
|
+
class ApplicationController < ::ApplicationController
|
15
15
|
end
|
16
16
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
# Copyright (c) 2014 The University of Manchester, UK.
|
3
|
+
#
|
4
|
+
# BSD Licenced. See LICENCE.rdoc for details.
|
5
|
+
#
|
6
|
+
# Taverna Player was developed in the BioVeL project, funded by the European
|
7
|
+
# Commission 7th Framework Programme (FP7), through grant agreement
|
8
|
+
# number 283359.
|
9
|
+
#
|
10
|
+
# Author: Robert Haines
|
11
|
+
#------------------------------------------------------------------------------
|
12
|
+
|
13
|
+
module TavernaPlayer
|
14
|
+
class JobQueueController < TavernaPlayer::ApplicationController
|
15
|
+
# See lib/taverna_player/concerns/controllers/job_queue_controller.rb
|
16
|
+
include TavernaPlayer::Concerns::Controllers::JobQueueController
|
17
|
+
end
|
18
|
+
end
|
@@ -36,8 +36,8 @@ module TavernaPlayer
|
|
36
36
|
# :call-seq:
|
37
37
|
# complete? -> boolean
|
38
38
|
#
|
39
|
-
# Is this run complete? If a run is finished or cancelled or failed
|
40
|
-
# it is complete.
|
39
|
+
# Is this run complete? If a run is finished or cancelled or failed or
|
40
|
+
# has timed out then it is complete.
|
41
41
|
|
42
42
|
##
|
43
43
|
# :method: embedded?
|
@@ -111,7 +111,14 @@ module TavernaPlayer
|
|
111
111
|
# state -> symbol
|
112
112
|
#
|
113
113
|
# The state of this run. Possible states are :pending, :initialized,
|
114
|
-
# :running, :finished, :cancelled or :failed.
|
114
|
+
# :running, :finished, :cancelled, :timeout or :failed.
|
115
|
+
|
116
|
+
##
|
117
|
+
# :method: timeout?
|
118
|
+
# :call-seq:
|
119
|
+
# timeout? -> boolean
|
120
|
+
#
|
121
|
+
# Did this run timeout?
|
115
122
|
|
116
123
|
end
|
117
124
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<%
|
2
|
+
# Copyright (c) 2014 The University of Manchester, UK.
|
3
|
+
#
|
4
|
+
# BSD Licenced. See LICENCE.rdoc for details.
|
5
|
+
#
|
6
|
+
# Taverna Player was developed in the BioVeL project, funded by the European
|
7
|
+
# Commission 7th Framework Programme (FP7), through grant agreement
|
8
|
+
# number 283359.
|
9
|
+
#
|
10
|
+
# Author: Robert Haines
|
11
|
+
%>
|
12
|
+
|
13
|
+
<h1>Taverna Player Jobs</h1>
|
14
|
+
|
15
|
+
Number of jobs in the queue: <%= @jobs.count %>
|
16
|
+
|
17
|
+
<table>
|
18
|
+
<tr>
|
19
|
+
<th>Job ID</th>
|
20
|
+
<th>Priority</th>
|
21
|
+
<th>Run at</th>
|
22
|
+
<th>Locked at</th>
|
23
|
+
<th>Failed at</th>
|
24
|
+
<th>Run ID</th>
|
25
|
+
<th>Workflow ID</th>
|
26
|
+
<th>Run state</th>
|
27
|
+
<th>Status message</th>
|
28
|
+
</tr>
|
29
|
+
|
30
|
+
<% @jobs.each do |job| %>
|
31
|
+
<%
|
32
|
+
worker = job.payload_object
|
33
|
+
run = worker.run
|
34
|
+
%>
|
35
|
+
<tr>
|
36
|
+
<td><%= job.id %></td>
|
37
|
+
<td><%= job.priority %></td>
|
38
|
+
<td><%= job.run_at %></td>
|
39
|
+
<td><%= job.locked_at %></td>
|
40
|
+
<td><%= job.failed_at %></td>
|
41
|
+
<td><%= run.id %></td>
|
42
|
+
<td><%= run.workflow.id %></td>
|
43
|
+
<td><%= run.state %></td>
|
44
|
+
<td><%= run.status_message %></td>
|
45
|
+
</tr>
|
46
|
+
<% end %>
|
47
|
+
</table>
|
@@ -49,7 +49,13 @@
|
|
49
49
|
pmrpc.register( {
|
50
50
|
publicProcedureName : "setTitle",
|
51
51
|
procedure : function(title) {
|
52
|
-
|
52
|
+
// This method is called by an interaction to set its title.
|
53
|
+
// It must be registered but doesn't need to do anything if you
|
54
|
+
// don't want it to.
|
55
|
+
|
56
|
+
//document.title = title;
|
57
|
+
|
58
|
+
// This method must return "OK".
|
53
59
|
return "OK";
|
54
60
|
}
|
55
61
|
});
|
@@ -21,7 +21,7 @@
|
|
21
21
|
<%= f.hidden_field :name, :value => "#{workflow_title} (embedded)" %>
|
22
22
|
|
23
23
|
<% workflow_inputs.each do |input| %>
|
24
|
-
<% input_param = params[input[:name].to_sym] %>
|
24
|
+
<% input_param = params[:input][input[:name].to_sym] if params[:input] %>
|
25
25
|
<% if input_param.nil? %>
|
26
26
|
<div>Input: <%= input[:name] %></div>
|
27
27
|
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#------------------------------------------------------------------------------
|
2
|
+
# Copyright (c) 2014 The University of Manchester, UK.
|
3
|
+
#
|
4
|
+
# BSD Licenced. See LICENCE.rdoc for details.
|
5
|
+
#
|
6
|
+
# Taverna Player was developed in the BioVeL project, funded by the European
|
7
|
+
# Commission 7th Framework Programme (FP7), through grant agreement
|
8
|
+
# number 283359.
|
9
|
+
#
|
10
|
+
# Author: Robert Haines
|
11
|
+
#------------------------------------------------------------------------------
|
12
|
+
|
13
|
+
en:
|
14
|
+
taverna_player:
|
15
|
+
status:
|
16
|
+
pending: "Queued"
|
17
|
+
pre-callback: "Running pre-run tasks"
|
18
|
+
connect: "Connecting to Taverna Server"
|
19
|
+
full: "Server full - please wait; run will start soon"
|
20
|
+
initialized: "Initializing new workflow run"
|
21
|
+
inputs: "Uploading run inputs"
|
22
|
+
start: "Starting run"
|
23
|
+
busy: "Server busy - please wait; run will start soon"
|
24
|
+
running: "Running"
|
25
|
+
interact: "Waiting for user input"
|
26
|
+
outputs: "Gathering run outputs and log"
|
27
|
+
post-callback: "Running post-run tasks"
|
28
|
+
finished: "Finished"
|
29
|
+
cancel: "Cancelling"
|
30
|
+
cancel-callback: "Running post-cancel tasks"
|
31
|
+
cancelled: "Cancelled"
|
32
|
+
timeout: "Run execution timed out"
|
33
|
+
fail-callback: "Running post-failure tasks"
|
34
|
+
failed: "Failed"
|
35
|
+
errors:
|
36
|
+
invalid-parent: "Parents must have lower ids than their children"
|