How do I Approve Worker Assignments?

55 views
Skip to first unread message

Cody Wild

unread,
May 24, 2021, 3:50:04 PM5/24/21
to PsiTurk
This is a pretty basic question, but: how do I approve work done by workers in Psiturk3? 

I'm looking at my HIT in the Dashboard, and it shows 4 workers under "Submissions Needing Action". However, when I try to Approve All through the dashboard, nothing changes: all four are still in the "Needing Action" category. 

I tried alternately to use the `worker list` or `worker list --submitted` commands in the Psiturk shell to figure out worker assignments I could approve, but that returned `*** no workers match your request`. 

Is there something basic I'm missing here? 


Dave Eargle

unread,
May 24, 2021, 3:54:20 PM5/24/21
to PsiTurk
There's a heroku bug of sorts where none of the dashboard actions will work if they take longer than 30 seconds -- heroku kills the request, and the dashboard does give any feedback. For now, you can schedule an "approve all" task from the tasks tab (tasks aren't subject to timeouts because of how they run), or you could run "worker approve --all" from a local psiturk shell in the correct mode and pointing at the correct db.

--
You received this message because you are subscribed to the Google Groups "PsiTurk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psiturk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/psiturk/38f22327-2f84-49db-a525-66feb66ea960n%40googlegroups.com.

Cody Wild

unread,
May 24, 2021, 4:03:13 PM5/24/21
to PsiTurk
That makes sense for the Heroku action, though I'm still confused as to why `worker list` wouldn't return anything from a Psiturk shell? 

Dave Eargle

unread,
May 24, 2021, 4:07:21 PM5/24/21
to Cody Wild, PsiTurk
Could be wrong db or wrong mode or maybe wrong aws creds, or I can't remember what the default status for returned workers is, run just "worker" to see the opts.

Cody Wild

unread,
May 24, 2021, 5:11:14 PM5/24/21
to PsiTurk

Okay, I can look into that. Trying to "Approve All" as a task from the dashboard is raising an "undefined: Internal Server Error", with the following stack trace. Not sure if this is likely to be a bug or an issue in my setup/DB somehow. 

```
:22362/api/tasks/:1 Failed to load resource: the server responded with a status of 500 (INTERNAL SERVER ERROR)
vue.js:634 [Vue warn]: Error in render: "TypeError: this.tasks.filter is not a function"

(found in <Root>)
warn @ vue.js:634
vue.js:1897 TypeError: this.tasks.filter is not a function
    at Vue.approve_all_task (list.js:22)
    at Watcher.get (vue.js:4472)
    at Watcher.evaluate (vue.js:4577)
    at Vue.computedGetter [as approve_all_task] (vue.js:4826)
    at Vue.exists_approve_all_task (list.js:27)
    at Watcher.get (vue.js:4472)
    at Watcher.evaluate (vue.js:4577)
    at Proxy.computedGetter (vue.js:4826)
    at Proxy.eval (eval at createFunction (vue.js:11628), <anonymous>:3:129)
    at Vue._render (vue.js:3545)
```

Dave Eargle

unread,
May 24, 2021, 5:14:39 PM5/24/21
to Cody Wild, PsiTurk
I think the vue js errors are just vue not knowing how to handle a 500 response. What do your `heroku logs` show for the 500?

Cody Wild

unread,
May 24, 2021, 5:22:28 PM5/24/21
to PsiTurk
Ah, I'm using the dashboard UI from a local server, with my `ad_url_domain` pointing to my Heroku app. I have never been able to get `<myherokuapp>.com/dashboard` to work; it just gets the "<app>.com redirected you too many times" error 

Dave Eargle

unread,
May 24, 2021, 5:25:04 PM5/24/21
to Cody Wild, PsiTurk
Server.log, then.

And ah! I released a new psiturk version which gives more helpful error messages instead of infinite looping. For the version you're using, that happens if heroku doesn't have access to valid aws creds.

Reply all
Reply to author
Forward
0 new messages