NYUCCL / psiTurk

An open platform for science on Amazon Mechanical Turk.
https://psiturk.org
MIT License
277 stars 140 forks source link

denied repeated access during sandbox debugging #102

Closed jonberliner closed 10 years ago

jonberliner commented 10 years ago

When I debug using hit create links in sandbox mode, I get an error saying that I've already participated in the study.
I can work around it by copying the experiment link, replacing workerid='none' with workerid= and then another random number, but that's not optimal (can't be a number that i've typed in before). note that this is not for local debugging with "debug", but instead for linking out to mturk for testing in sandbox mode.

patriciachan commented 10 years ago

Go into participants.db and delete the row that corresponds to when you did the experiment. You should be able to repeat the experiment after that. Psiturk checks the database file to see if the workerID matches before displaying the study.

jonberliner commented 10 years ago

but shouldn't having "debug" start the worker id allow you to repeat anyway?

patriciachan commented 10 years ago

I'm not sure what you mean by having "debug" on if you aren't doing a local debug. Sandbox doesn't have a debug function.

Using sandbox mode isn't the same as doing a local debug. When you are in sandbox mode, it posts a hit to the Amazon MTurk Sandbox website. When you take the hit in sandbox mode, it logs the hit with your Mturk workerID and not a randomly generated debug ID.

You might want to consider just debugging locally. Psiturk will randomly generate a workerID for you that starts with 'debug' each time you start the study so that you many repeat it. If you go through the Sandbox website, it doesn't generate a new workerID for you.

jonberliner commented 10 years ago

i'm trying to figure out tightening aws mysql security, and unfortunately can't to this portion of debugging locally. when it sandbox, it has been giving me hitids that start with debug.
hitid_debug_sandbox

also, in the experiment.py module it looks like, if hitid begins with debug, then debug_mode should be turned on.

hitid_triggers_debugmode

patriciachan commented 10 years ago

The word "debug" in the link to the ad server is a misnomer. It is not in debug mode.

When you are in sandbox mode, it treats the hit like a real live hit and will block any workers that have already done the task. This is intentional. The only way to do the task again is to access the sql database and delete the row that corresponds to you doing the task. Sandbox mode is suppose to simulate live mode.

If you are interested in rapid development and debugging of the code, you should debug locally.

jonberliner commented 10 years ago

you got it. thanks

On Tue, Jun 3, 2014 at 6:18 PM, Patricia notifications@github.com wrote:

The word "debug" in the link to the ad server is a misnomer. It is not in debug mode.

When you are in sandbox mode, it treats the hit like a real live hit and will block any workers that have already done the task. This is intentional. The only way to do the task again is to access the sql database and delete the row that corresponds to you doing the task. Sandbox mode is suppose to simulate live mode.

If you are interested in rapid development and debugging of the code, you should debug locally.

— Reply to this email directly or view it on GitHub https://github.com/NYUCCL/psiTurk/issues/102#issuecomment-45027908.