I currently have my experiment in a state where I can ssh into the virtual machine our lab is using, cd into the experiment directory, and input psiturk hit create. Depending on the config file, my hit can go to one of two apps in a pipeline, either secure-wave-49665 or secure-wave-2. Each app is configured with its own database and url. To ensure the app I'm using always matches my config file my virtual machine has 2 backup config files (config-sw2 and config-sw49) that correspond to each app. Whenever I want to switch apps I just remove config.txt,copy one of my app specific config files to a new file called config.txt, and then add that config file to a git branch (either master or a clone of master I've made so I dont drastically screw everything up in the process of trying to find something that works), commit that branch, push the branch to github, go to the desired heroku app url , deploy the git branch I just committed. To be sure heroku sees the config I want it to see I then run "heroku run --app secure-wave-2(or secure-wave-49665) psiturk config print". I verify that the config file heroku sees is the same as the one that psiturk is seeing locally.Then finally I go back to the terminal window and input psiturk server on/ psiturk hit create 1 0.01 1.
I can go to the sandbox page and accept the hit fine now without running into the "our records show you have already completed this hit". I can test and run the hit. When I use chrome's inspector tool I see a "failed to load sourcemap :could not load content for
https://secure-wave-49665.herokuapp/com/static/lib/underscore-min.map: HTTP error:status code 404, net :: ERR_HTTP_RESPONSE_CODE_FAILURE" and "synchronous jquery 3.4.1.min.js:6 XMLHttpRequest is deprecated because of its determental effects to the end user's experience." error. However I get similar errors when I run the example, which I can collect data from fine. Then below on the console I get printouts of all the data I want. current round, chosen room, ect. At the end I get a message that says "XHR finished loading: POST "
https://s jquery-min.js:
Secure-wave-49665.herokuapp.com/save data file". But when I go to the psql database none of the data I saw from the console appears. Its like aws never gets any data and never realizes that the experiment has finished. Even though the console seems to be collecting data and sending it -somewhere. But my config file points to the correct database, heroku sees the same config file psiturk does, and my aws credentials are entered correctly (they are the same crendentials I use in the example- the one I am able to get data from).
And finally when I go back to psiturk in terminal and run download_datafiles I get a whole bunch of error messages and no changes to the virtual machine, unlike when I run download datafiles in the example experiment directory after running the example- in which I get no error messages and I get csv files with eventdata,trialdata,and questiondata.
I don't know what could be wrong. The javascript should work fine because it worked fine before this mess with heroku and psiturk3 happened.The aws credentials should work fine because they work fine on the example. The config credentials should be fine because I have a super reliable method of posting the right config files to the right apps. What else could it be?
Hopefully this is close to what you meant by reprex, this tries to explain everything I do when I run a hit, all I have tried,and all potential sources for errors I have systematically eliminated or investigated.